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 ...