树上期望距离 设: $d[i]$:节点 $i$ 的度数 $fa[i]$:节点 $i$ 的父亲 我们分为两个部分:儿子到父亲与父亲到儿子。 儿子到父亲 我们先设 $f[i]$ 为 $i$ 到 $fa[i]$ 的期望移动步数。 显然,分为两种情况: 一步走到父亲 对于这种情况,只需要走一步即可到达父亲节 ...
分类:
其他好文 时间:
2019-01-29 10:45:32
阅读次数:
216
很好理解,也很好写,只要知道它的两个性质就可以自己yy了 1.堆性质 2.中序遍历序列就是原序列 代码如下: cpp include using namespace std; define N 100000 int n, a[N+5], fa[N+5], ch[N+5][2]; int stk[N+ ...
分类:
其他好文 时间:
2019-01-26 11:00:19
阅读次数:
202
1、jQuery 效果 hide() 隐藏 show()显示 toggle()切换显示隐藏 语法(speed,callback) speed规定隐藏显示的速度 slow fast 还有毫秒(2000) callback回调函数 执行完之后再执行函数 fadeIn()淡入 fadeOut()淡出 fa ...
分类:
Web程序 时间:
2019-01-21 21:07:54
阅读次数:
197
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4566 每个后缀结尾处 ct[ ] = 1 ,按拓扑序 dp 一下就能求出 right 集合的大小。自动机上每个点的贡献就是 ( l [cr]-l [fa] ) * ct[0][cr] * ct ...
分类:
其他好文 时间:
2019-01-19 12:11:51
阅读次数:
174
const int POW = 18; void dfs(int u,int fa){ d[u]=d[fa]+1; p[u][0]=fa; for(int i=1;i d[b] ) a ^= b, b ^= a, a ^= b; if( d[a] = 0; i-- ) if( p[a][i] != ... ...
分类:
其他好文 时间:
2019-01-17 17:48:34
阅读次数:
167
题目:https://loj.ac/problem/2542 因为走到所有点的期望就是所有点期望的最大值,所以先最值反演一下,问题变成从根走到一个点集任意一点就停止的期望值; 设 \( f[x] \),则 \( f[x] = \frac{f[fa]+1+\sum\limits_{v \in son} ...
分类:
其他好文 时间:
2019-01-16 22:46:12
阅读次数:
166
什么是最小生成树(Minimum Spanning Tree) 每两个端点之间的边都有一个权重值,最小生成树是这些边的一个子集。这些边可以将所有端点连到一起,且总的权重最小 下图所示的例子,最小生成树是{cf, fa, ab} 3条边 Kruskal算法 用到上一篇中介绍的不相交集合(并查集) 首先 ...
分类:
编程语言 时间:
2019-01-16 00:16:57
阅读次数:
255
"传送门" 两个串嘛……可以建广义后缀自动机。 我们每次要记录一下对于每个节点,其对应的在第一个串上的size和第二个串上的size,那么每个节点对于答案的贡献就是$size[0] size[1] (l[i] l[fa[i]])$ 解释一下,size其实表示的就是endpos集合之内的元素个数 ,也 ...
分类:
其他好文 时间:
2019-01-13 00:25:08
阅读次数:
212
"传送门" 我一开始的想法是直接去求后面的$lcp(T_i,T_j)$,但是我不会…… 有一条性质:两个后缀的$lcp$就是他们在$parent$树上的$LCA$,而且出题人给这个式子其实是有目的的……我们把式子拆开,对于每一条边,我们赋一个权值为$l[i] l[fa[i]]$,这样的话我们只要求出 ...
分类:
其他好文 时间:
2019-01-12 22:56:59
阅读次数:
241
C - Upgrading Tree 我发现我构造题好弱啊啊啊。 很明显能想到先找到重心, 然后我们的目标就是把所有点接到重心的儿子上,让重心的儿子子树变成菊花图, 这个先把重心到儿子的边连到 i , 然后把 i 到 其 fa 的边连到重心的儿子上, 一直循环就好啦。 ...
分类:
其他好文 时间:
2019-01-11 13:09:32
阅读次数:
132