
点分治
文章平均质量分 73
AbEver
孤单是一个人的狂欢
展开
-
POJ1741 Tree (树上点分治/treap+启发式合并)
DescriptionGive a tree with n vertices,each edge has a length(positive integer less than 1001). Define dist(u,v)=The min distance between node u and v. Give an integer k,for every pair (u,v) of verti原创 2017-09-11 12:56:02 · 730 阅读 · 1 评论 -
BZOJ 2152: 聪聪可可(点分治/树形DP)
题目在这里题解这题有两种作法,一开始我想的是点分治,类似于POJ1741那题(点这里),我们按同样的方法搜索depdep并记录,不过这次记录的是dep%3=0,1,2dep\%3=0,1,2的数量,记作t[i]t[i]。那么根据乘法原理,ans1=t[1]∗t[2]∗2+t[0]∗t[0]ans_1=t[1]*t[2]*2+t[0]*t[0],然后再算出儿子的ans2ans_2,并减去即可。求出满足原创 2017-09-11 16:26:42 · 637 阅读 · 1 评论 -
BZOJ 3784: 树上的路径(点分治+ST表+堆堆堆)
题目喵述权限门题目大意:给一棵树,有N个点,有边权。所有无向路径中,请你输出前M大的。N<=50000 M<=Min(300000,n*(n-1) /2)思路树上超级钢琴。(拖延症的结果就是现在才写这题)学了一种点分治的套路,在做点分治的时候求出整棵树的dfs序。可以发现,每个点在dfs序列中出现不超过log次。我们不妨称其为点分治序。然后类比超级钢琴,将序列转换到树上。强制路径过分治中心,然后每原创 2018-04-19 07:08:05 · 433 阅读 · 0 评论