題目大意:
初始時你有乙個空序列,之後有n個操作。
操作分為一下兩種:
1. x:在序列末尾插入乙個元素x(x=0或1)。
2.lr:定義nand[l,r]為序列第l個元素到第r個元素的與非和,詢問nand[l,l]^nand[l,l+1]^nand[l,l+2]^……^nand[l,r]。
nand就是先與,再取反
f[n]=nand(1,i); sum[n]=∑n
i=1f
(i)
詢問時
nand(l,r)=…(!(a[l]&a[l+1])&…)…
f(r)=…(!(f[l]&a[l+1])&…)…
∴ 當f[l]=a[l]時,nand(l,r)=f(r)
一直往後找就好了..
好像還能二分什麼的優化,但我也不會..
有興趣的讀者自己思考…(滑稽)
#include
#include
#include
#include
#include
#define n 4000005
using
namespace
std;
int n,tot,a[n],f[n],sum[n];
int query(int l,int r)
ans^=sum[r]^sum[now];
return ans;
}int main()
else
ans=query(l,r);
printf("%d\n",ans);}}
return
0;}
短路與 非短路與 短路或 非短路或
1 驗證 的作用 public class operatordemo public static void main string args if 10 10 10 0 0 非短路與 要把所有的條件進行判斷 system.out.println 條件滿足。2 驗證 的作用 public class ...
啟蒙與非啟蒙
啟蒙與非啟蒙 昨晚,和朋友打完 又讓我感覺到了人與人之間的某些差異。昨晚還算睡得好,雖然晚上明顯的肚子有些餓了的。肚子餓,又讓我想起了束縛 不單單是吃對生活的束縛,更多的是物質對人的束縛。我對與物質與意識的看法,總是不能夠給自己乙個全面地合理的解釋,往往因為這些問題而進入一種空洞的狀態。顯然,這些問...
與非許可權總結
許可權總結 1.許可權類別有 序號 名稱 值 1 讀 1 2 查詢 2 3 寫 4 4 更新 8 5 刪除 16 6 2.增加許可權 我的許可權值 讀 查詢 寫 更新 我的許可權值 1 2 4 8 15 增加刪除許可權 我的許可權值 我的許可權值 刪除 我的許可權值 15 16 31 3.刪除許可權...