這是我a的第一道省選題!
可它的難度是普及/提高-
傳送門題目大意:給定乙個初始為0的序列,可以讓某一段區間的數字反轉,也可以詢問某個點的值
學過樹狀陣列的同學可能看出來了,這是一道樹狀陣列區間修改,單點查詢的變式,還沒有學過的同學可以看看這篇部落格樹狀陣列
路人:你這不是騙閱讀量嗎
我:略略略略略略略略略略
但是要怎麼反轉乙個數的值呢?用異或(這個符號:^)
異或的作用是當兩個數值不同時為1,否則都為0
如:0^0=0
0^1=1
1^0=1
1^1=0
不難看出,當0異或1時為1,1異或1時為0,達到了取反的目的,所以只需要將update裡的加x改為異或1就可以達到將整個區間取反的要求了
#include
#include
using
namespace std;
int n,m,bit[
100005];
intlowbit
(int x)
void
update
(int x)
}int
sum(
int x)
return ans;
}int
main()
else
}return0;
}
要繼續加油啊! 洛谷 P1101 題解
這道題可以用深搜 回溯 來寫,相信大部分人都是這麼想的,但是有些人可能在一些地方饒了半天,所以這裡就貼一下我的思路,個人覺得自己的很好懂,除了tx和ty那裡,但是tx和ty的那種用法對於輸出路徑的題目一般很實用 這個算是比較簡單的吧,題目裡給出了具體要找的字串,我們要做的就是對它進行8個方向的搜尋,...
洛谷 P1169 題解
請你在乙個黑白矩陣中選出乙個長方形 含正方形 和正方形的子矩陣,使得所有相鄰的點顏色不一樣。矩陣大小 兩條邊都 2000 2000 2 000輸入 3 31 0 1 0 1 0 1 0 0輸出4 6解釋給定矩陣 正方形 長方形 我的控制台是萌萌噠 ffc0cb粉色 乙個小技巧 如果您的控制台是像我的...
題解 洛谷 P3332
題目描述 權值線段樹套線段樹板子題 首先觀察題目,判斷為二維偏序問題 操作1為區間修改,所以一定是外部線段樹維護權值,內部線段樹維護所在區間,否則時間複雜度 qwq 為方便查詢,雜湊時我採用雜湊每個數的相反數的方法將求第k大轉換為求第k小 詢問可以直接想到的做法就是二分答案,查詢1 ans在區間內的...