計蒜客ICPC2019 (區域賽 上海)

2021-09-27 08:20:31 字數 1129 閱讀 3448

b題 light bulbs(思維)

題意:給出n個燈泡,一開始都是暗的,給出m個詢問,每個詢問給出l和r,表示對該區間操作(開啟或關閉),最後輸出亮著的燈有多少,

一開始用線段樹差分,但是要遍歷1e6的陣列嚴重超時,下面時網上借鑑的方法(膜拜)

用map標記頭和尾,最後遍歷所有點(map已經預設公升序排序),將頭每次加1,尾後面減1,對於每次操作,只有奇數次才能操作。其實帶一組數模擬一次就大概了解了。

#include

#include

using namespace std ;

const

int n =

1e6+5;

map<

int,

int> bulb ;

intmain()

int ans =

0, sum =

0, last =0;

map<

int,

int>

::iterator it ;

for(it = bulb.

begin()

; it != bulb.

end(

); it ++

) bulb.

clear()

; printf (

"case #%d: %d\n"

,i,ans);}

return0;

}

l題 digit sum (暴力 —> 一開始還以為會超時結果不會)

#include

using namespace std ;

const

int n =

1e6+5;

long

long num[11]

[n];

intmain()

num[i]

[j]= num[i]

[j-1

]+ ans ;}}

for(

int i =

1; i <= t ; i ++

)return0;

}

emmmmm 後面的題還沒有來得及補,等補提(to be continue…) ;

計蒜客 2019 ICPC 南昌邀請賽

目錄 f.sequence 線段樹 單點更新 區間查詢 g.winner 思維 j.prefix 字典樹 k.a good game 樹狀陣列 貪心 題意 定義給定 操作1 格式為0 x y,把ax改為y 操作2 格式為1 x y,求f x,y 分析 不難發現,f l,r 可由以下項異或得到 1 r...

2019區域賽網路賽總結

乙個多月下來打了差不多7場左右的網路賽,網路賽一般都是12 00 17 00,爭奪區域賽名額。這麼多場區域賽打下來,有發揮的好的時候,也有不好的時候,其中認識到了自己很多的不足之處,感覺到了其他學校的強大,自己很有壓力。寫題的時候發現自己知識點還有很多不足,對於數論,數學方面,自己菜了許多,高中很多...

2019計蒜客藍橋杯模擬賽三

思路 一開始遞推推錯了,改用dfs includeusing namespace std int ans void dfs int x,int sum 記住i從x開始搜的這一剪枝,不僅僅可以提公升效率 更重要的是可以保證搜尋出來的結果不會重複,是有序的 for int i x i 10 sum i ...