洛谷---小L和小K的NOIP考後放鬆賽
阿新 • • 發佈:2018-11-18
連結:
https://www.luogu.org/contestnew/show/11805?tdsourcetag=s_pcqq_aiomsg
題解:
沒人過的題我就沒看
t2:
考慮每個點是朋友的區間是連續的
然後維護每個人朋友的右端點
顯然是單調遞增的
然後線段樹瞎搞一下就好了
蜜汁tle一個點 要了資料再說
t4:
這題直接做顯然不行
我剛開始竟然一直在想怎麼還原揹包然後覺得很難。。
按位考慮就很簡單
我們要求這一位一定要選奇數個
$C(n,1)+C(n,3)+C(n,5)+....=2^{n-1}$
這個證明的話就是二項式定理$(x+1)^n=\sum C(n,i)*x^i$
然後啊對於0的就任選
k代表第幾位
所以就是$2^{k-1}*2^{a-1}*2^b$
然後發現這個東西其實就跟你這一位有沒有1有關。。。
修改的話也是按位修改比較簡單
暴力就是按位樹鏈剖分,複雜度$nlog^3{n}$
但是這樣每一位單獨維護一個bool變數顯然很浪費
由於我們並不需要知道每一位的實際個數,所以仍舊可以作為一個數維護
直接把左右兒子|起來然後查這一位有沒有就是查這一位是不是1
注意到還是區間^操作,那麼一個地方現在應為1就說明以前應有0
也就是區間的&值
所以我們只需要維護區間&,|值就可以了
複雜度$nlog^2{n}$