bzoj 3166 可持久化Tire

2021-08-04 20:33:15 字數 476 閱讀 9938

每乙個數能做出的貢獻就是其兩端第二個比他大的中間的數和他的異或值

按權值大小排序,按照位置扔進set,set內的元素都是比他大的,也是全的

然後tire上跑就行了。。

#include#include#include#include#include#include#define n 50050

using namespace std;

int sz,ch[33*n][2],sum[33*n],n,root[n],tim;

sets;

struct dataa[n];

bool cmp(data a,data b)

void insert(int p,int &rt,int x)

}int query(int x,int l,int r)

printf("%d\n",ans);

return 0;

}

BZOJ 3166 可持久化Trie

welcome to alo arithmetic and logistic online 這是乙個vr mmorpg 如名字所見,到處充滿了數學的謎題。現在你擁有n顆寶石,每顆寶石有乙個能量密度,記為ai,這些寶石的能量 密度兩兩不同。現在你可以選取連續的一些寶石 必須多於乙個 進行融合,設為 a...

bzoj 3261 (可持久化trie樹)

time limit 10 sec memory limit 512 mb submit 1422 solved 612 submit status discuss 給定乙個非負整數序列 初始長度為 n。有 m個操作,有以下兩種操作型別 1 a x 新增操作,表示在序列末尾新增乙個數 x,序列的長度...

bzoj4546 可持久化字典樹

可持久化字典樹模板題。把每個數轉換成二進位制建立字典樹,按照下標建立可持久化字典樹,存一下子樹中點的個數就行了。1 include2 include3 include4 include5 using namespace std 6 inline char nc 12return p1 13 14 i...