復(fù)盤|第95場雙周賽
根據(jù)規(guī)則將箱子分類
【分類討論】用變量名來簡化邏輯。
找到數(shù)據(jù)流中的連續(xù)整數(shù)
【模擬】用一個變量cnt記錄value的出現(xiàn)次數(shù),遇到就加一,沒遇到就重置為0。
查詢數(shù)組 Xor 美麗值
【位運算】位運算每個比特位互不相干,可以拆分成每個比特位分別計算,對異或結(jié)果有影響的是1,所以只需統(tǒng)計(a∣b)&c=1的情況,則c必須是1,a|b必須是1 → a和b至少有一個1。設(shè)有y個1,就有n-y個0,那么c有y個,a|b有n^2 - x^2個(任選兩兩組合n^2,減去兩個都是0的x^2個),乘法原理一共(xny-y^2)y個1,異或只關(guān)心1的奇偶性,那么2ny可以去掉,可以看成y^3的奇偶性也就是y的奇偶性,y奇數(shù)則該比特位異或值為1,所以只要把每個數(shù)異或起來。
最大化城市的最小供電站數(shù)目
【二分+前綴和+差分數(shù)組+貪心】二分答案minPower,從左到右遍歷stations,如果stations[i]電量不足minPower,那么需要建供電站來補足。由于i左側(cè)的不需要補足,所以貪心地在min(i+r,n-1)處建是最合適的,恰好讓i在覆蓋范圍的邊界上。設(shè)需要建m個供電站,那么需要把[i, min(i+2r,n-1)]范圍內(nèi)的電量都增加m。方法很多,用差分數(shù)組來更新是最簡單的。