P4735 最大異或和

2022-04-30 11:03:10 字數 623 閱讀 9375

p4735 最大異或和

可持久化trie

據n^n=0,我們可以把問題轉化為字首異或和(設為s[i]),也就是求 s[n]^s[p] 的最大值

顯然,這是經典的trie上貪心問題。但是詢問次數過多,我們總不能每次都建一棵完整的樹。

注意到,對於每次詢問我們所需的trie都只有很小的不同。

於是我們就可以用可持久化trie,原理類似主席樹。

(不開o2只有90pts......)

#include#include

#include

using

namespace

std;

int n,m,cnt,ch[16800002][2],sum[16800002],rt[600002],s[600002

];inline

void update(int o,int pre,int d,int

x)inline

int query(int o,int pre,int d,int

x)int

main()

}return0;

}

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,...

P4735 最大異或和

點我跳轉 給定乙個非負整數序列 a 初始長度為 n 有 m 個操作,有以下兩種操作型別 1 a x 新增操作,表示在序列末尾新增乙個數 x 序列的長度 n 增大 1 2 q l r x 詢問操作,你需要找到乙個位置 p 滿足 l p r 使得 a p xor a xor xor a n xor x ...