電腦從拯救者y7000p 2019換到了m1 air,不想在m1上再折騰一遍hexo,索性就用cnblog了...
信誓旦旦的學了可持久化trie和01trie來搞,結果出了一點問題,被卡了好久
先隨便糊了乙個暴力,用pre記一下異或字首和,這麼裸的乙個暴力居然給了73分,11個點wa了3個點,
#include using namespace std;
int xor=0;
int n,m;
int a[600010],pre[600010];
inline int read()
int main()
char op;
int l,r,x;
for (int i=1;i<=m;i++) else
cout<}
}return 0;
}
題解 洛谷P4735最大異或和
學習了一下可持久化trie的有關姿勢 其實還挺好理解的,也短小精悍。重點在於查詢某個歷史版本的trie樹上的某條邊是否存在,同樣我們轉化到維護字首和來實現。同可持久化線段樹一樣,我們為了節省空間繼承上一節點未修改的資訊,修改的資訊我們則新建一條鏈。節點上我們維護從最初的版本到當前版本這條路徑一共出現...
P4735 最大異或和
給定乙個非負整數序列,初始長度為n。有m個操作,有以下兩種操作型別 a x 新增操作,表示在序列末尾新增乙個數x,序列的長度n 1。q l r x 詢問操作,你需要找到乙個位置p,滿足l p r,使得 a p a p 1 a n x最大,輸出最大是多少。輸入格式 第一行包含兩個整數 n,m,含義如問...
P4735 最大異或和
題目鏈結 給定乙個非負整數序列,初始長度為n。有m個操作,有以下兩種操作型別 a x 新增操作,表示在序列末尾新增乙個數x,序列的長度n 1。q l r x 詢問操作,你需要找到乙個位置p,滿足l p r,使得 a p a p 1 a n x最大,輸出最大是多少。輸入格式 第一行包含兩個整數n,m,...