![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分而治之-树分治
Dream_Lolita
退役OIer,转战ACM
展开
-
【点分治+拆系数FFT】CodeChef - CUTTREE (Chef Cuts Tree )
【题目】 原题地址 题目大意:定义森林的强度为连通块大小的平方和。 第0天有一棵nnn个节点的树,每一天随机删掉森林中的一条边,共进行n−1n−1n-1天,对于每一天求出森林强度的期望值。答案模109+7109+710^9+7。【题目分析】 根据套路,我们一般是讨论树上每个点对对答案的贡献,这样一般可以用点分治来做。【解题思路】 对于一个有序点对(x,y)(x,y)(x,y),若...原创 2018-05-18 18:28:34 · 396 阅读 · 0 评论 -
【动态点分治】BZOJ4012 [HNOI2015]开店
【题目】BZOJ给定一棵nnn个点带边权的树,同时每个节点有一个权xxx。QQQ次询问点权在[l,r][l,r][l,r]的所有点到uuu的距离和。强制在线,每个节点度数不超过三。n,Q≤2×105n,Q\leq 2\times 10^5n,Q≤2×105【解题思路】考虑动态点分治,由于一个点的度数不超过三,那么点分树上每个点的儿子也不超过三。我们将每个分治中心内存的信息按排列顺序,那...原创 2019-02-13 11:43:26 · 226 阅读 · 0 评论 -
【可持久化点分树??】CF757G Can Bash Save the Day?
【题目】CF一棵nnn个点的树和一个排列pip_ipi,边有边权,支持两种操作:l r xl\ r\ xl r x,询问∑i=lrdis(pi,x)\sum\limits _{i=l}^{r} dis(p_i,x)i=l∑rdis(pi,x)xxx,交换px,px+1p_x,p_{x+1}px,px+1n,q≤105n,q\leq 1...原创 2019-01-28 23:38:30 · 567 阅读 · 0 评论 -
【后缀数组/SAM+边分树合并】LGP5115 Check,Check,Check one two!
【题目】原题地址给定一个字符串SSS,求∑1≤i<j≤nlcp(i,j)lcs(i,j)[lcp(i,j)≤k1][lcs(i,j)≤k2]\sum_{1\leq i<j\leq n}lcp(i,j)lcs(i,j)[lcp(i,j)\leq k_1][lcs(i,j)\leq k_2]1≤i<j≤n∑lcp(i,j)lcs(i,j)[lcp(i,j)≤k1...原创 2018-12-28 10:52:56 · 763 阅读 · 0 评论 -
【动态点分治+Treap+替罪羊式重构】UOJ55 [WC2014] 紫荆花之恋
【题目】原题地址每个节点有一个能力值rir_iri,多次操作每次向树上加入一个节点(和一条带权边),并查询当前树上有多少对节点(i,j)(i,j)(i,j)满足dis(i,j)≤ri+rjdis(i,j)\leq r_i+r_jdis(i,j)≤ri+rj。q≤105q\leq 10^5q≤105【解题思路】考虑树是静态时,我们另dxd_xdx表示xxx到当前分治重心的距离,则限...原创 2018-12-10 11:24:10 · 238 阅读 · 0 评论 -
【点分治+BIT】CF936E Iqea
【题目】原题地址给定一个二维平面上的四连通块,相邻格子间距离为111,有两种操作:在一个格子中建一个商店询问离一个格子最近的商店的距离所有数字≤3×105\leq 3\times 10^5≤3×105【解题思路】这道题的难点就在于一步很巧妙的转化:对于每一列,将每个连通块看作一个点,向它左右相邻的连通块连边。这样可以发现我们得到了一棵树,两点之间的路径可以在树上唯一表示出来。注...原创 2018-12-08 22:36:47 · 623 阅读 · 0 评论 -
【点分治+CDQ思想+斜率优化】BZOJ3672 [NOI2014]购票
【题目】 原题地址 题目大意:一棵有根树,从一个城市xxx到另一个城市yyy的花费为dis(x,y)∗px+qxdis(x,y)∗px+qxdis(x,y)*p_x+q_x,同时要求dis(x,y)<=limx,y是x的祖先dis(x,y)<=limx,y是x的祖先dis(x,y)f[x]=min(f[x],f[y]+(dis[x]−dis[y])∗p[x]+q[x])f[x]=m...原创 2018-06-11 17:10:19 · 333 阅读 · 0 评论