
分治
MashiroSky
这个作者很懒,什么都没留下…
展开
-
【bzoj2152】 聪聪可可
http://www.lydsy.com/JudgeOnline/problem.php?id=2152 (题目链接)题意:给出一棵n个节点的带权树,求有多少点对的距离是3的倍数。solution 点分治。对于每个重心统计出每棵子树到重心的距离%3=0/1/2的点的数量即可。求出ans后与n²进行下gcd出解。代码:// bzoj2152#include<algorithm>#include<原创 2016-07-18 16:27:56 · 533 阅读 · 0 评论 -
【poj1741】 Tree
http://poj.org/problem?id=1741 (题目链接)树上分治第一题。题意:给出一个n个节点的带权树,求树上距离不超过K的所有点对的个数。solution 点分治裸题。所谓的点分治,就是对于一条路径,只有经过该点和不经过改点两种情况,所以我们可以通过找到树的重心,删去这个点,使树分成几棵小树,再递归处理。不经过的情况很好处理,直接递归到子树就可以了,关键是对于经过的情况。 对原创 2016-07-18 15:32:10 · 319 阅读 · 0 评论 -
【poj3714】 Raid
http://poj.org/problem?id=3714 (题目链接)现在才搞平面最近点对。。感觉有点尴尬题意:给出平面上两组点,每组n个,求两组点之间最短距离Solution1 平面最近点对,分治即可。 将点按横坐标排序,然后每次二分成左边和右边分别计算最小距离,再计算中间的最小距离,这里需要把中间符合条件的点按照纵坐标排序,然后当当前枚举的两点的纵坐标之差大于答案时break,否原创 2016-08-30 10:28:47 · 660 阅读 · 0 评论 -
【poj1804】 Brainman
http://poj.org/problem?id=1804 (题目链接)题意:求逆序对Solution1 归并排序。 每次合并时计算逆序对。 代码:// poj1804#include<algorithm>#include<iostream>#include<cstdlib>#include<cstring>#include<cstdio>#include<cma原创 2016-09-03 17:17:42 · 470 阅读 · 0 评论