
>可持久化数据结构<
文章平均质量分 78
DT2131
Rage, rage against the dying of the light.Do not go gentle into that good night.
展开
-
HDU 6191 Query on A Tree ( DFS序 + 可持久化字典树 )
题意: 给出一颗带点权树,问在某点的子树中与 X 的最大异或值是多少? 思路: DFS序后,转化为区间与 X 异或求最大,可持久化字典树思路同主席树,每次更新一条链即可。 代码: #include using namespace std; const int MAXN=1e5+7; int two[35]; int a[MAXN],fa[MAXN],n,m,in[MAXN],out[M原创 2017-09-14 08:13:50 · 386 阅读 · 0 评论 -
HDU - 4417 Super Mario (主席树)
题目大意:给你一个长度为n的数组,然后m次查询,每次询问问你l到r区间有多少个数是小于等于H的。 思路:直接写个主席树求第k大的数,然后二分在第1到第r-l+1大的数是否小于等于H,找到刚好小于等于H的那个数,然后答案就是那个那个小于等于那个数的个数的总和,主席树里面已经维护了那个数的总和,直接求取就行。原创 2017-08-07 12:53:07 · 392 阅读 · 0 评论 -
HDU - 2665 Kth number (求区间第K小)
题意: 求区间第K小 思路: 主席树 (此题数据较水,建议同时通过 POJ 2104 HDU 2665) 代码: #include #include #include #include #include using namespace std; #define ls l,mid #define rs mid+1,r #define mi (l+r)原创 2017-08-07 12:49:03 · 355 阅读 · 0 评论 -
POJ - 2104 K-th Number (求区间第K小)
题意: 求区间第K小 思路: 主席树 (此题数据巨水,建议同时通过 POJ 2104 HDU 2665) 代码: #include #include #include #include #include using namespace std; #define ls l,mid #define rs mid+1,r #define mi (l+r)/2 const int原创 2017-08-07 12:47:09 · 318 阅读 · 0 评论