
可持久化数据结构
文章平均质量分 79
兰芷结新佩
2333333333
展开
-
BZOJ 2588 Count on a tree 可持久化线段树+LCA
题目大意:给出一棵n(n 一开始写的是DFS序加树状数组套权值线段树,即对于一条路径,其包含的权值所组成的权值线段树等价于u到root的权值线段树,加上v到root,减去LCA(u,v)到root,减去fa[LCA(u,v)]到root的权值线段树,那么对于一个点来说,其到根节点上的权值组成的权值线段树只受其祖先的影响,所以我们只需要在求出DFS序之后,对于一个点,其左括号位置权值线原创 2017-01-07 18:40:29 · 360 阅读 · 0 评论 -
BZOJ 3207 花神的嘲讽计划Ⅰ
题目大意,给出一个长度为n的数字串,一个常数k,然后是m个询问:从l到r位置,能不能找到一个长度为k的指定数字串。 思路:字符串hash之后,使用可持久化权值线段树查找就ok,字符串hash还是第一次写,即指定一个key,key应该尽量大,代表key进制的数,那么对于一个指定的字符串,我们从左到右进行取数字,将其表示成一个key进制的数,存储下每一位的结果,即sum[i]=sum[i-1]*ke原创 2017-01-07 20:47:34 · 308 阅读 · 0 评论