首先要吐槽一下,区间更新的主席树的内存开销已经瞬间爆炸了。。n,m
首先主席树所需要的lazy与普通线段树的lazy无差。主席树需要另开一个标记来判断当前节点是否是前一层的节点,如果是就在pushdown的时候分配一个新的。
HDU已经MLE成狗了。不过可持久化的BIT 貌似可过,线段树被卡系数了OTZ。。。
#include
#include
#include
#include
...
分类:
其他好文 时间:
2015-04-22 13:54:14
阅读次数:
171
2482: [Spoj1557] Can you answer these queries IITime Limit: 20 SecMemory Limit: 128 MBSubmit: 145Solved: 76[Submit][Status][Discuss]Description给定n个元素的...
分类:
其他好文 时间:
2015-04-20 22:35:42
阅读次数:
143
这道题注意要是不重叠的,一开始这里WA了一次
其他的思路应该挺简单的
#include
#include
#include
using namespace std;
#define N 100100
int r[N];
char s[11][10005];
int wa[N],wb[N],wv[N],ws[N];
int sa[N],rank[N],height[N];
int m[N];...
分类:
其他好文 时间:
2015-04-19 11:38:23
阅读次数:
165
RAONE - Ra-One Numbers
no tags
In the War between good and evil . Ra-One is on the evil side and G-One on the good side.
Ra-One is fond of destroying cities and its G-one's duty to prote...
分类:
其他好文 时间:
2015-04-19 10:14:09
阅读次数:
166
链接:http://www.spoj.com/problems/LCS/题意两串LCS确实没什么好说的,第一次编嘛。把网上的教程斗翻出来看一遍就好了。另发现,百度内部用户交流使用的图片在百度快照中看得到。#include#include#include#includeusing namespace ...
分类:
其他好文 时间:
2015-04-15 21:06:36
阅读次数:
211
题解:
对于每个树上节点存一个版本的可持久化线段树,为它到根节点上所有权值的权值线段树(需要离散化)。
然后对于每次询问,这条链(a,b)的线段树就是:线段树a+线段树b?线段树lca?线段树falca线段树_a + 线段树_b - 线段树_{lca} - 线段树_{fa_{lca}}
然后线段树上求第k小啦。
代码:
#include
#include
#include...
分类:
其他好文 时间:
2015-04-15 09:44:07
阅读次数:
176
题目大意:给定n,m,求有多少组(a,b) 0g(p'x)=mu[x]2.x%p'!=0 , 那么对于先前所有的 x/p 来说,此时乘了p' , 若p!=p' , 那么因为多了一个因子 mu[p'*x/p] = -mu[x/p] , 所以在p!=p'时,所有的情况相加为-g(x),在考虑枚举到的p'...
分类:
其他好文 时间:
2015-04-14 23:13:17
阅读次数:
231
题目大意:从坐标(0,0,0)处观察到所有在(n,n,n)范围内的点的个数,如果一条直线上出现多个点,除了第一个,后面的都视为被遮挡了这题目稍微推导一下可得知 gcd(x,y,z) = 1的点是可观察到的,若三者的gcd>1,则这个点之前必然出现了一个(x/gcd(x,y,z) , y/gcd(x,...
分类:
其他好文 时间:
2015-04-14 14:23:35
阅读次数:
131
后缀数组水题
先求所有的子串数,根据长度枚举,共(n+1)*n/2种
当height[i]>0时,说明height[i]这个前缀与其他子串相同,减去这height[i]个子串
#include
#include
#include
using namespace std;
#define N 1005
int r[N],sa[N],height[N],rank[N],wa[N],wb[N],w...
分类:
其他好文 时间:
2015-04-14 09:59:40
阅读次数:
125
题目地址:QTREE2 - Query on a tree II
LCA学了离线与在线转RMQ方法后就去做这道题,于是想了好长时间也没想到怎么做。看了题解都是用的倍增LCA。。于是又去学了下倍增法求LCA,这才发现用倍增法做简直是水题。。。因为求路径的第k个点可以转化成求第k个父节点,然而倍增法的原理就是根据的父节点,于是这题就很容易解决了。。
求距离很好求。关键...
分类:
其他好文 时间:
2015-04-13 20:54:08
阅读次数:
202