O(NK)暴力搞出所有子串的哈希值, 然后就对哈希值离散化建权值线段树, 就是主席树的经典做法了.总时间复杂度O(NK+(N+Q)logN)--------------------------------------------------------------------------#inclu...
分类:
其他好文 时间:
2015-12-20 11:37:20
阅读次数:
232
标题效果:间隔可以改变k少我的两个天树牌主席。。。隔断Count On A Tree 之后我一直认为,随着树的主席的变化是分域林木覆盖率可持久段树。。。事实上,我是误导。。。尼可持久化线段树毛关系都木有啊!!!那就是动态的权值线段树啊啊啊啊啊啊啊!!!好吧这里给不明确主席树的孩纸一些简单介绍:1.外...
分类:
其他好文 时间:
2015-10-27 15:05:36
阅读次数:
281
取一棵生成森林,根据题目限制可得,与一个点相连的多余的边数是$O(\sqrt{m})$级别的。对于树边,每个点维护3棵权值线段树,依次保存它的儿子里各个集合的边。再开3*3个分块数组,记录多余边以及树边每种权值的出现次数,修改时暴力修改多余边,时间复杂度$O(q\sqrt{m})$。#include...
分类:
其他好文 时间:
2015-09-17 01:12:39
阅读次数:
311
Orz..跑得还挺快的#10自从会树链剖分后LCA就没写过倍增了...这道题用可持久化线段树..点x的线段树表示ROOT到x的这条路径上的权值线段树-------------------------------------------------------------------------#in...
分类:
其他好文 时间:
2015-07-30 00:27:32
阅读次数:
231
权值线段树。。。。各种脑残错误 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define l(a) ((a)>1); 45 } 46 void build(int a,...
分类:
其他好文 时间:
2015-07-22 20:25:36
阅读次数:
107
建颗权值线段树就行了...连离散化都不用...没加读入优化就TLE, 加了就A掉了...而且还快了接近1/4....------------------------------------------------------------------------------------------#i...
分类:
其他好文 时间:
2015-07-22 01:31:51
阅读次数:
128
写的是区间线段树套权值线段树.似乎比反过来写要麻烦.SAD.
为了节省内存.内层的线段树要动态开点.
/* I will wait for you */
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include ...
分类:
其他好文 时间:
2015-07-12 14:21:12
阅读次数:
225
活跃区的操作序列的优先级单调不上升,所以每次undo的一定是一段区间。以优先级为权值建立可持久化权值线段树,维护优先级在某区间内的最靠后的位置。#includeconst int N=300010,M=6000000;int n,i,j,x,f[N],root[N],v[M],l[M],r[M],t...
分类:
其他好文 时间:
2015-06-25 11:48:19
阅读次数:
121
考虑将某线段下方的点取走:将所有点从低到高排序每扫描到一条水平线,对于上面每个点,找到它下面同色的前驱后继,统计中间点的个数然后再把线上所有点插入数据结构中最后再统计相邻的同色的点之间的点个数用动态开点的权值线段树+树状数组维护,时间复杂度$O(n\log n)$。考虑将某线段上方的点取走:把扫描线...
分类:
其他好文 时间:
2015-06-24 14:23:26
阅读次数:
82
用家里的电脑来编程,各种不算一开始15分钟刷掉T1和T2,然后就永远地卡在了T3。。。后来看题解,傻了眼。。。它强调的“只有一个答案”我还以为这是在提示我二分答案,于是我一直往权值线段树那个方向想去哪知它还代表一个意思:路径xor值即是答案。。。好吧我脑袋秀逗了。。代码:T1#include #in...
分类:
其他好文 时间:
2015-06-20 21:58:56
阅读次数:
187