题目链接
主席树详解
每次插入logn个点 这样就不需要重新建树了。
#pragma comment(linker, "/STACK:1024000000,1024000000")
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
...
分类:
其他好文 时间:
2015-07-27 22:55:58
阅读次数:
189
一句话题意,树链上带修改区间第k大
感觉可以dfs+主席树O(nlog2n)O(n\log^2n)过掉,但我不会写= =
于是写的线段树套平衡树+链剖+二分(修改O(nlog3n)O(n\log^3n),查询O(nlog4n)O(n\log^4n)慢了好多啊QAQ)
这里简单介绍一下区间第K大做法,对于每个线段树所”管辖“的范围,建一棵相应范围内的平衡树(我用的Treap);修改时,修改...
分类:
Web程序 时间:
2015-07-27 19:02:05
阅读次数:
139
题意:有n年,其中m年可以乘时光机回到过去,q个询问下面m行,x,y 表示可以在y年穿越回x年, 保证y>x下面q个询问, 每个询问有个年份k问的是k年前面 有多少年可以通过一种以上($\ge 2$)方法穿越回去的, 其中时光机只能用一次比如案例9 3 39 16 14 1672如图对于询问6这一年...
分类:
其他好文 时间:
2015-07-27 00:00:58
阅读次数:
453
题意:n个数 m个询问询问的是[l, r]区间内不同的数的和没有修改,静态的主席树即可与 SPOJ QUERY一样 将重复的元素建树即可注意范围:$N \le 50000$ 每个值不超过1000000也就是加起来会爆int 要用LL 1 #include 2 using namespace s...
分类:
其他好文 时间:
2015-07-25 10:38:41
阅读次数:
111
题意:
带修改区间k小值;
n,m
a[i]
题解:
听说是道裸题就过来刷刷 (卧槽我最近似乎都是在刷裸题);
写完前缀和的主席树感觉挺厉害,感受了一下树状数组就来写这题;
然后写更新的的时候我就不会了;
前缀和的时候,后一个树从前一个继承一部分结点而来的;
但是树状数组不能这么搞啊= =;
然后发现暴力建就可以了,也是犯二了;
最多n+m次修改,每次修改lo...
分类:
其他好文 时间:
2015-07-24 16:14:03
阅读次数:
144
题解:哈哈哈我过了!!!主席树+树状数组写起来还真是hentai啊。。。在这里必须分享我的一个沙茶错!!!看这段代码:void get(int x,int d){ if(!d)for(lt[ltot=1]=root[x];x;x-=x&-x)if(c[x])lt[++ltot]=c[x]; ...
分类:
其他好文 时间:
2015-07-23 13:43:42
阅读次数:
125
题意:n个数 m个询问 ($n、m \le 10^5$)每个询问有l, r, k 问的是[l, r]区间内有多少个数小于等于k用主席树做的话查询第i小的数与k比较即可 1 #define lson l, m 2 #define rson m+1, r 3 const int N=1e5+5; ...
分类:
其他好文 时间:
2015-07-20 22:50:46
阅读次数:
144
题意:n个数,q个询问 (n 2 using namespace std; 3 typedef long long LL; 4 #define lson l, m 5 #define rson m+1, r 6 const int N=60005; 7 int a[N], wz[N]; ...
分类:
其他好文 时间:
2015-07-19 23:25:41
阅读次数:
157
主席树真是神奇的物种!题意:给n、m 下面有n个数 (编号1到n) 有m个询问,询问的是上面的数的编号在[l,r]之间第k小的数n、m的范围都是1e5是主席树的入门题借此来学习一下主席树 1 const int N=1e5+5; 2 int L[N>1;12 L[rt]=b...
分类:
其他好文 时间:
2015-07-16 21:56:44
阅读次数:
108
卡我空间....这道题应该是主席树入门题...无修改 , 离散化都不用...出题人业界良心啊一开始的空白树我 build 出来结果就多了整整 2n 个 Node , 然后就 MLE 了...( 双倍经验 , 另一道见上图 )--------------------------------------...
分类:
其他好文 时间:
2015-07-15 22:17:56
阅读次数:
115