
点分治
KsCla
这个作者很懒,什么都没留下…
展开
-
poj1741:Tree (树上点分治/treap+启发式合并)
问题描述:给定一棵N个结点的带权树, 问有多少条路径使得它的长度题目分析:……本题是我第一次敲树上点分治,AC了有一点小激动,但代码可能还不是很正规……好吧先来讲讲做法,有点像CDQ分治。我们只要每一次求出以root为根的子树中有多少路径经过了root且长度v的路径就可以被统计进答案。注意u==root或v==root的情况要小心。于是我们对子树的dep从小到大排个序,然后利用单调,记原创 2016-12-14 17:30:10 · 1409 阅读 · 0 评论 -
Tyvj1953:Normal (点分治+FFT)
题目传送门:http://tyvj.joyoi.cn/p/1953题目分析:好神的一道题,%了一波dalao的题解才会做,然后我发现我对期望一无所知QAQ……这题的难点其实既不在于点分,也不在于FFT,而是对期望的转化。首先由于期望的线性性,我们可以单独计算每一个点x对期望时间的贡献。而点x每被计算一次,就意味着存在一个分治中心y(x可以等于y),使得x到y路径上的其它点都还没有被作为分治中心。由于原创 2017-12-14 12:57:03 · 605 阅读 · 0 评论 -
SPOJ FTOUR2 (平衡树+启发式合并/点分治)
vjudge题面传送门:https://cn.vjudge.net/problem/SPOJ-FTOUR2题目大意:给出一棵n个节点的树,将其黑白染色。求经过不超过k个节点的路径权值和的最大值。n<=200000n<=200000nf[node][num]f[node][num]f[node][num]表示节点node向下走,经过刚好num个黑点的最大权值,转移的时候显然有: ...原创 2018-03-07 14:25:03 · 425 阅读 · 0 评论 -
BZOJ1095:Hide 捉迷藏 && SPOJ Qtree IV (树的三分治/括号序列)
题目传送门: BZOJ1095:http://www.lydsy.com/JudgeOnline/problem.php?id=1095 SPOJ Query on a tree IV vjudge题面:https://cn.vjudge.net/problem/SPOJ-QTREE4#题目分析:看完题就会发现后面那题是前面那题的加强版。这两题都可以用链剖,边分和点分实现。前两种解...原创 2018-03-08 21:20:12 · 378 阅读 · 0 评论 -
hdu5909:Tree Cutting (FWT/点分治优化树形DP)
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5909题目大意:给出一棵树,每个节点的权值都在[0,m)[0,m)[0,m)内。现在对于每个v∈[0,m)v∈[0,m)v\in[0,m),你都应给出权值为vvv的至少有一个点的子连通块个数。一个连通块的权值定义为其所有点的权值异或和。答案模109+7109+710^9+7,多组数据。...原创 2018-03-15 21:33:10 · 431 阅读 · 0 评论 -
CodeChef Union on Tree (虚树+点分治)
vjudge题面传送门:https://cn.vjudge.net/problem/CodeChef-BTREE题目分析:sro wjmzbmr这是道码农神题。首先考虑简化版的问题:如果给出一个点x,再给出一个距离d,如何求出距离x不超过d的点的个数?这可以用点分治解决。先用点分治预处理出每个连通块的所有点到其分治中心mid的深度数组f。f[mid][son][dep]=num表示分治...原创 2018-03-22 14:38:41 · 942 阅读 · 0 评论 -
洛谷P3345:[ZJOI2015]幻想乡战略游戏 (动态点分治)
题目传送门:https://www.luogu.org/problemnew/show/P3345题目分析:这题简直是噩梦,调了我一个下午。首先考虑暴力怎么做:在树上随机找一个点,然后计算以该点为补给点的答案,并算出它周围的点的答案。如果它周围存在一个点答案更优,就往该点走,直到当前点为最优点就停止。这样一次询问就是n2dn2dn^2d的,其中d=20d=20d=20,因为每个点的度数...原创 2018-03-20 19:21:28 · 843 阅读 · 0 评论