2021.5.3 cjy下午

随机删点,求\(f(S)\)期望
\(f(S)=|S|+E(\sum f(T))\)\(T\)是删掉某个点之后剩余的若干连通块。
考虑求每个点贡献,考虑每个点对他贡献概率?\(\frac{1}{dis(x,y)+1}\)之和?
这个过程类似点分治,总贡献等于每个点在这个不均衡点分树上的深度之和的期望。
深度的期望就依次考虑每个点是他祖先的概率。也就是删掉\(y\)的时候\(x\)\(y\)在一个连通块里。
那么就是\(\frac{1}{dis(x,y)+1}\)。这玩意就点分治+NTT就行了。

\(\sum\sum min(dis1(i,j),dis2(i,j))\)
直接点分治,第二棵树上线段树合并。

查询以\(x\)为根,前\(d\)层有多少个1连通块。带修
等价于求自己是1,父亲是0的点数,直接动态点分治。连通块数要考虑标志点,这个题标志点就是这玩意。

WC2018通道
第一棵树边分治,第二棵树枚举lca,把\(dis1(x)+dis2(x)\)作为点权,合并第三棵树的直径,\(O(n\log^2 n)\)
注意合并直径结论只在边权非负成立!!!!!

CTSC2018暴力写挂 边分树合并

CF1336F*
分两种情况讨论。lca不同的时候,就直接沿路把他两边+1,查询就看他往下两边k儿子子树权值和。
lca相同,就是枚举lca,把他两个端点+1,然后dsu on tree枚举左边lca',在另一侧的k'儿子处统计子树权值和。

A多少子路径在B联通
和序列一样,点数-边数=1,为最小值,求最小值位置个数。
就往上移一个点,枚举第二棵树上的出边,给子树边数-1。
x不为y祖先的情况,就考虑y一定是轻儿子,那么做dsu on tree,枚举轻儿子那边就是照常统计贡献,然后撤回。

loj6289*
重链剖分,轻儿子分治NTT,重链上分治NTT,\(O(n\log^3 n)\)
带权二分,分成卷积长度平均的两部分,复杂度\(O(n\log^2 n)\)复杂度没听懂。。

k个带权最大匹配
原题,重链剖分,分治max卷积。
脑子呢脑子呢脑子呢脑子呢

到某个点的多项式的素数次项系数之和*
神奇分治NTT题。树的情况不懂

FCTRE
莫队。。。就处理每个质因数出现次数。乘积的因数要这么考虑。

CF1254D
直接根号分治,\(O(n\sqrt n)\)
可以链剖?
修改可以只给重儿子和父亲那边加,然后查询向上跳链,把没加的贡献加起来。\(O(n\log n)\)

posted @ 2021-05-03 17:13  Lebron_Durant  阅读(75)  评论(0)    收藏  举报