给定两棵$n$个点的树,分别是由$n-1$条蓝边和$n-1$条红边组成的树。求$n-1$次操作后,能否把蓝树变成红树。
每次操作是,选择当前树上一条只由蓝边组成的简单路径$u\to v$,删掉路径上的任意一条蓝边,然后在路径上任选两个点,在这两个点之间加一条红边。
$n\leq10^5$。 ...
分类:
其他好文 时间:
2019-01-08 12:22:02
阅读次数:
213
"传送门" 没想出来→_→ 首先不难看出要差分之后计算不相交也不相邻的相等子串对数,于是差分之后建SAM,在parent树上用线段树合并维护endpos集合,然后用启发式合并维护一个节点对另一个节点的贡献,于是总的时间复杂度为$O(n\log^2n)$ ...
分类:
其他好文 时间:
2019-01-02 12:38:50
阅读次数:
174
Peterson loves to learn new languages, but his favorite hobby is making new ones. Language is a set of words, and word is a sequence of lowercase Lati ...
分类:
其他好文 时间:
2019-01-02 00:04:57
阅读次数:
163
Description .jpg) Input 第一行包含一个正整数testcase,表示当前测试数据的测试点编号。保证1≤testcase≤20。 第二行包含三个整数N,M,T,分别表示节点数、初始边数、操作数。第三行包含N个非负整数表示 N个节点上的权值。 接下来 M行,每行包含两个整数x和 y ...
分类:
其他好文 时间:
2018-12-30 11:43:03
阅读次数:
209
P3899 [湖南集训]谈笑风生 题目大意 n个节点的树,q次查询,每次查询给出a,k求三元组的数量(a,b,c),(a,b,c)的定义为:a、b均为c的祖先且距离<=k 离线,启发式合并线段树,长链剖分当然都能过这题 这里讲讲主席树的做法 dfs序建树 a为b的祖先时 查询a子树内深度<=dep[ ...
分类:
其他好文 时间:
2018-12-09 14:01:19
阅读次数:
178
对着题目yy了一天加上看了一中午题解,终于搞明白了~~我太弱了~~ 连边就是合并线段树,把小的集合合并到大的上,可以保证规模至少增加一半,复杂度可以是$O(logn)$ 合并的时候暴力dfs修改倍增数组和维护主席树即可 然后树上主席树就是维护节点到根节点的信息即可, 询问链上的第k大时,画图后可以发 ...
分类:
其他好文 时间:
2018-11-26 22:05:23
阅读次数:
258
树上启发式合并是某些神仙题目的常见操作。 这里有一个讲得详细一点的,不过为了深刻记忆,我还是再给自己讲一遍吧! DSU(Disjoint Set Union),别看英文名挺高级,其实它就是并查集…… DSU on tree,也就是树上的启发式合并(众所周知,并查集最重要的优化就是启发式合并)。 然后 ...
分类:
其他好文 时间:
2018-11-23 14:09:43
阅读次数:
452
题意:有一棵n个结点的只由小写字母组成的Trie树,给定它的具体形态,问删除哪一层后剩下Trie树的结点数最少 n<=3e5 思路:先建出原Trie树,对于每一层的每一个结点计算删除后对答案的贡献,这一部分使用启发式合并 官方题解证明了时间复杂度是一个log的 http://codeforces.c ...
分类:
其他好文 时间:
2018-11-06 19:33:49
阅读次数:
353
T1 代码难度:入门 知识难度:提高 思维难度:普及 显然从n个位置中钦定m个是稳定位置之后,其余的错排即可。 错排公式$f[i]=(i 1)(f[i 1]+f[i 2])$的推导过程如下: 假设现在已经选好了i 1个元素,那么第i个元素可能的位置是前i 1个,然后假设被换掉的那个元素: 1. 到了 ...
分类:
其他好文 时间:
2018-10-30 17:44:57
阅读次数:
250
上周总结 学习的知识 1. FHQ非旋treap ~~(万能头文件竟然不能用merge)~~ 2. CDQ分治 ~~(两三个函数长一个样)~~ 3. 负载平衡问题 ~~(才学会,还是太菜了)~~ 4. 线段树~~(启发式)~~合并 ~~(不太会用.jpg)~~ 复习的知识 1. 各种数论知识 2. ...
分类:
其他好文 时间:
2018-10-30 00:21:45
阅读次数:
163