bzo5301 Cqoi2018 異或序列 莫隊

2021-08-21 12:07:33 字數 807 閱讀 8828

已知乙個長度為 n 的整數數列 a[1],a[2],…,a[n] ,給定查詢引數 l、r ,問在 [l,r] 區間內,有多少連續子

序列滿足異或和等於 k 。

也就是說,對於所有的 x,y (l≤x≤y≤r),能夠滿足a[x]^a[x+1]^…^a[y]=k的x,y有多少組。

1≤n,m≤105,o≤k,ai≤105,1≤lj≤rj≤n

沒有修改而且n、m不大,考慮離線然後莫隊

注意到一段連續的異或和可以拆成異或字首和上的兩個點,那麼我們在成功把區間問題變成兩點問題後就能愉快地用桶維護出現的異或值了

這題有點裸啊

#include 

#include

#include

#define rep(i,st,ed) for (int i=st;i<=ed;++i)

const

int n=200005;

const

int b=250;

struct q q[n];

int bct[n],ans[n],a[n];

int n,m,k,sum;

int read()

void change(int x,int v) else

}bool cmp(q a,q b) ;

}std:: sort(q+1,q+m+1,cmp);

for (int i=1,l=1,r=0;i<=m;i++)

rep(i,1,m) printf("%d\n", ans[i]);

return

0;}

BZOJ5301 Cqoi2018 異或序列

bzoj5301 cqoi2018 異或序列 已知乙個長度為 n 的整數數列 a 1 a 2 a n 給定查詢引數 l r 問在 l,r 區間內,有多少連續子串行滿足異或和等於 k 也就是說,對於所有的 x,y l x y r 能夠滿足a x a x 1 a y k的x,y有多少組。輸入檔案第一行,...

CQOI2018 社交網路

當今社會,在社交網路上看朋友的訊息已經成為許多人生活的一部分。通常,乙個使用者在社交網路上發布一條訊息 例如微博 狀態 tweet等 後,他的好友們也可以看見這條訊息,並可能 的訊息還可以繼續被人轉 發,進而擴散到整個社交網路中。在乙個實驗性的小規模社交網路中我們發現,有時一條熱門訊息最終會被所有人...

CQOI2018 解鎖螢幕

使用過android手機的同學一定對手勢解鎖螢幕不陌生。android的解鎖螢幕由3x3個點組成,手指在螢幕上畫一條 線將其中一些點連線起來,即可構成乙個解鎖圖案。如下面三個例子所示 畫線時還需要遵循一些規則 1 連線的點數不能少於4個。也就是說只連線兩個點或者三個點會提示錯誤。2 兩個點之間的連線...