日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

经典二分:秦腾与教学评估

發(fā)布時間:2023/12/4 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 经典二分:秦腾与教学评估 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

秦騰與教學(xué)評估

題面描述
在秦騰進(jìn)入北京大學(xué)學(xué)習(xí)的第一個學(xué)期,就不幸遇到了前所未有的教學(xué)評估。在教學(xué)評估期間,同學(xué)們被要求八點(diǎn)起床,十一點(diǎn)回宿舍睡覺,不準(zhǔn)曠課,上課不準(zhǔn)遲到,上課不準(zhǔn)睡覺……甚至連著名的北大三角地也在教學(xué)評估期間被以影響校容的理由被拆除。這些“變態(tài)”規(guī)定令習(xí)慣了自由自在隨性生活學(xué)習(xí)的北大同學(xué)叫苦不迭。這一天又到了星期五,一大早就是秦騰最不喜歡的高等代數(shù)課。可是因?yàn)槭墙虒W(xué)評估時期,不能遲到,于是他在八點(diǎn)五分的時候掙扎著爬出了宿舍,希望能趕快混進(jìn)在八點(diǎn)鐘已經(jīng)上課了的教室。可是,剛一出宿舍樓門他就傻眼了:從宿舍到教學(xué)樓的路上已經(jīng)站滿了教學(xué)評估團(tuán)的成員。他們的目的就是抓住像他這樣遲到的學(xué)生,扣除學(xué)校的分?jǐn)?shù)。秦騰當(dāng)然不能讓評估團(tuán)得逞。他經(jīng)過觀察發(fā)現(xiàn),整個評估團(tuán)分成了N個小組,每個小組的成員都分布在從宿舍樓到教學(xué)樓的路上的某一段,并且同一小組的成員間的距離是相等的。于是,我們可以用三個整數(shù)S,E,D來描述評估團(tuán)的小組:既該小組的成員在從宿舍到教學(xué)樓的路上的:S,S+D,S+2D,…,S+KD(K∈Z,S+KD≤E,S+(K+1)D>E)位置。觀察到了教學(xué)評估團(tuán)的這一特點(diǎn),又經(jīng)過了認(rèn)真的思考,秦騰想出了對策:如果在路上的某一位置有奇數(shù)個教學(xué)評估團(tuán)成員,他就可以運(yùn)用調(diào)虎離山,聲東擊西,隔山打牛,暗度陳倉……等方法,以這一地點(diǎn)為突破口到達(dá)教學(xué)樓。但是由于教學(xué)評估團(tuán)的成員的十分狡猾,成員位置安排的設(shè)計(jì)極其精妙,導(dǎo)致在整條路上幾乎沒有這樣的位置出現(xiàn)。即使由于安排不慎重出現(xiàn)了這樣的位置,最多也僅有一個。現(xiàn)在秦騰觀察出了所有小組的安排,但是由于整個教學(xué)評估團(tuán)的人數(shù)太多,他實(shí)在看不出這樣的位置是否存在。現(xiàn)在,你的任務(wù)是寫一個程序,幫助他做出判斷。

輸入格式
第一行為T代表測試數(shù)據(jù)組數(shù)每組第一行為N。接下來N行,每行三個整數(shù)Si,Ei,Di。N≤2?105,0≤Si,Ei,Di≤231?1 輸入文件不大于2048K

輸出格式
對于每組數(shù)據(jù)如果所求位置不存在,則輸出Poor Qin Teng
否則輸出兩個整數(shù)Posi,Count,代表在唯一位置Posi,有Count個教學(xué)評估圖的成員Count為奇數(shù)。

大致思路就是用前綴和加二分去尋找答案。
題目要求只能出現(xiàn)一個奇數(shù),假設(shè)存在的情況下,那么就有一邊的前綴和是奇數(shù),以此來二分,最后找到答案是否存在。

#include<iostream> #include<algorithm> #include<cstdio> using namespace std; typedef long long ll; const int N = 2e5 + 10; struct each {int s, e, d; }a[N]; int n; ll _sum(int x) {ll sum = 0;for(int i = 0; i < n; i++)if(a[i].s <= x)sum += (min(x, a[i].e) - a[i].s)/ a[i].d + 1;return sum; } int main() {int t;scanf("%d", &t);while(t--) {scanf("%d", &n);int l = 0, r = 0;for(int i = 0; i < n; i++) {scanf("%d %d %d", &a[i].s, &a[i].e, &a[i].d);r = max(r, a[i].e);}while(l < r) {int mid = l + r >> 1;if(_sum(mid) & 1) r = mid;else l = mid + 1;}ll sum = _sum(r) - _sum(r - 1);if(sum % 2)printf("%d %lld\n", r, sum);else puts("There's no weakness.");}return 0; }

總結(jié)

以上是生活随笔為你收集整理的经典二分:秦腾与教学评估的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。