2017.07.13【NOIP提高組】模擬賽B組 我的天 題解

原題:

http://172.16.0.132/senior/#contest/show/2055/1

題目描述:

很久很以前鼻忠,有一個(gè)古老的村莊——xiba村聊品,村子里生活著n+1個(gè)村民,但由于歷屆村長恐怖而且黑暗的魔法統(tǒng)治下泪电,村民們各自過著獨(dú)立的生活秆乳,完全沒有意識到其他n個(gè)人的存在懦鼠。
但有一天,村民xiba臻無意中也得到了魔法屹堰,并發(fā)現(xiàn)了這個(gè)恐怖的事實(shí)肛冶。為了反抗村長,他走遍了全世界扯键,找到了其他n個(gè)村民睦袖,并組織他們發(fā)動(dòng)革命。但讓這n個(gè)素不相識的村民(xiba臻已跟他們認(rèn)識)同心協(xié)力去抵抗村長是很困難的荣刑,所以xiba臻決定先讓他們互相認(rèn)識馅笙。
這里,xiba臻用了xiba村特有的xiba思維:先讓這n個(gè)人排成一列厉亏,并依次從1-n標(biāo)號延蟹。然后每次xiba臻會(huì)選出一個(gè)區(qū)間[l, r],在這個(gè)區(qū)間中的人會(huì)去認(rèn)識其他在這個(gè)區(qū)間中的人叶堆,但已經(jīng)認(rèn)識過得不會(huì)再去認(rèn)識阱飘。這樣,進(jìn)行m次操作后虱颗,xiba臻認(rèn)為這n個(gè)人能認(rèn)識到許多人沥匈。
但是,為了精確地知道當(dāng)前有多少對人已經(jīng)認(rèn)識了忘渔,xiba臻想要知道每次操作后會(huì)新產(chǎn)生出多少對認(rèn)識的人高帖,但這已是xiba思維無法解決的事了,你能幫幫他嗎畦粮?

輸入:

第一行兩個(gè)整數(shù)n散址,m。
接下來m行每行兩個(gè)整數(shù)li宣赔,ri预麸,表示每次操作的區(qū)間。

輸出:

共m行儒将,每行一個(gè)整數(shù)ans_i吏祸,表示第i次操作后新產(chǎn)生出ans_i對認(rèn)識的人。

樣例輸入:

5 5
2 3
2 4
3 5
1 5
2 4

樣例輸出:

1
2
2
5
0

數(shù)據(jù)范圍限制:

對于20%的數(shù)據(jù)钩蚊,1≤n贡翘,m≤100蹈矮。
對于50%的數(shù)據(jù),1≤n鸣驱,m≤5000泛鸟。
對于100%的數(shù)據(jù),1≤n踊东,m≤300000北滥,1≤li≤ri≤n。

分析:

記f[i]為第i個(gè)人與f[i]—i-1的人認(rèn)識递胧,初始f[i]=i。
然后一次操作后f[i]=max{f[i],l} l<=i<=r ,同時(shí)統(tǒng)計(jì)答案赡茸。
O(nm)

實(shí)現(xiàn):

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

int n,m,i,j,l,r;
long long ans,f[300001];
int main()
{
    freopen("ohmygod.in","r",stdin);freopen("ohmygod.out","w",stdout);
    scanf("%d%d",&n,&m);
    for(i=1;i<=n;i++) f[i]=i;
    while(m--)
    {
        scanf("%d%d",&l,&r);
        ans=0;
        for(i=r;i>=l;i--)
        {
            if(f[i]<=l) break;
            if(l<f[i])
            {
                ans+=f[i]-l;
                f[i]=l;
            }
        }
        printf("%lld\n",ans);
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缎脾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子占卧,更是在濱河造成了極大的恐慌遗菠,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件华蜒,死亡現(xiàn)場離奇詭異辙纬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)叭喜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門贺拣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捂蕴,你說我怎么就攤上這事譬涡。” “怎么了啥辨?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵涡匀,是天一觀的道長。 經(jīng)常有香客問我溉知,道長陨瘩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任级乍,我火速辦了婚禮舌劳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘玫荣。我一直安慰自己蒿囤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布崇决。 她就那樣靜靜地躺著材诽,像睡著了一般底挫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上脸侥,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天建邓,我揣著相機(jī)與錄音,去河邊找鬼睁枕。 笑死官边,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的外遇。 我是一名探鬼主播注簿,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼跳仿!你這毒婦竟也來了诡渴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤菲语,失蹤者是張志新(化名)和其女友劉穎妄辩,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體山上,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡眼耀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了佩憾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哮伟。...
    茶點(diǎn)故事閱讀 39,779評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖妄帘,靈堂內(nèi)的尸體忽然破棺而出澈吨,到底是詐尸還是另有隱情,我是刑警寧澤寄摆,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布谅辣,位于F島的核電站,受9級特大地震影響婶恼,放射性物質(zhì)發(fā)生泄漏桑阶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一勾邦、第九天 我趴在偏房一處隱蔽的房頂上張望蚣录。 院中可真熱鬧,春花似錦眷篇、人聲如沸萎河。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽虐杯。三九已至玛歌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間擎椰,已是汗流浹背支子。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留达舒,地道東北人值朋。 一個(gè)月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像巩搏,于是被迫代替她去往敵國和親昨登。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容