树状数组1
1156: 新年彩燈Ⅰ
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 572 Solved: 83
[Submit][Status][Web Board]
Description
新年將至,YY準備掛一排彩燈,已知彩燈剛掛完的彩燈共有N盞(編號為1,2,3,……),并且都是滅的。彩燈的閃爍由一段程序控制。
每一秒鐘程序會生成兩個正整數a和b(1<=a,b<=N),然后將編號為a和b之間的所有燈的狀態改變一次,即如果燈i是滅的,那么經過一次改變,燈i會亮,如果燈i是亮的,經過一次改變,燈i會滅。
當YY看著自己掛的彩燈不斷閃爍的時候,問題來了,YY想知道任意時刻某一區間燈的狀態。
Input
多組測試數據,每一組第一行是一個整數N(1<=N<=1000000)和一個整數M(1<=M<=3000)。
然后是M行數據,包括以下兩種形式:
1 a b 表示燈a和燈b之間的燈(含燈a和燈b)變換一次狀態。
0 x y 表示YY想知道此刻燈x到燈y(包含燈x和燈y)的狀態.
Output
對于每次YY想知道結果的時候,輸出一行燈的狀態(編號小的燈優先),如果是亮的輸出”1”,否則輸出”0”;
Sample Input
3 3
1 1 2
1 2 3
0 1 3
Sample Output
101
//做這題開始也是做出時間超限的,研究了好久自己才用樹狀數組寫出來
附上提供學習的大佬鏈接:
1:https://blog.csdn.net/Small_Orange_glory/article/details/81290634
2:https://blog.csdn.net/rentenglong2012/article/details/69230308
3:https://blog.csdn.net/rnzhiw/article/details/81275375
下面是AC代碼了~:
總結
- 上一篇: 大正整数排序~(结构体排序~)
- 下一篇: 树状数组2