转自:https://www.cnblogs.com/125418a/p/11621177.html 参考书籍《算法竞赛入门到进阶》 最小圆覆盖问题:给定n个点的平面坐标,求一个半径最小的圆,把n个点全部包围,部分点在圆上。(两种算法:几何算法和模拟退火算法) 几何算法:(1)加第1个点P1。C1的 ...
分类:
其他好文 时间:
2019-10-08 14:42:24
阅读次数:
137
// 2019.10.3 // 练习题:2018 ICPC 南京现场赛 "D Country Meow" 题目大意 给定空间内 N 个点,求某个点到 N 个点的距离最大值的最小值。 思路 非常裸的 最小球覆盖 问题啊,即找到半径最小的球包含全部的点。 在 最小圆覆盖 问题上,可以使用随 ...
分类:
其他好文 时间:
2019-10-07 23:10:41
阅读次数:
181
看到这道题,很明显地可以看出来需要二分答案 对于平面上的一些点,如果我们只使用一个尽量小的正方形覆盖它,那么这个正方形的大小和位置都是确定的 现在的目标就是使用三个小一点的相同的正方形替换它,并保证所有点都被覆盖 由于正方形的边必须与坐标轴平行,故小正方形至少有一条边所在的直线和大正方形的一条边所在 ...
分类:
其他好文 时间:
2019-09-26 19:54:15
阅读次数:
81
抄题解 把点按深度排序,用near数组记录到每个点最近的关键点的距离,每次取出一个点更新一下near数组,如果不能被覆盖就在它的k级祖先建立关键点,并更新所有k级祖先的k级祖先的near数组 ...
分类:
其他好文 时间:
2019-09-26 09:41:35
阅读次数:
69
[HAOI2007]覆盖问题 题目链接: "[HAOI2007]覆盖问题" 题目大意 给你$n$个坐标,再给你3个$l \times l$的矩阵,让你用这些矩阵去包含这些点,要求是将所有点都包含,我们要求$l$的最小值 题目题解 想到二分了,不过没想到怎么爆搜 看了下题解,妙啊妙啊,牛逼 每次二分一 ...
分类:
其他好文 时间:
2019-09-12 15:06:20
阅读次数:
71
最小路径覆盖 DAG的最小可相交路径覆盖: 算法:先用floyd求出原图的传递闭包,即如果a到b有路径,那么就加边a->b。然后就转化成了最小不相交路径覆盖问题。 这里解释一下floyd的作用如果1->2->3->4那么1可以到达2,3,4只要需要借助一些点,那么就可以直接把1与2,3,4相连,这就 ...
分类:
其他好文 时间:
2019-09-09 22:52:17
阅读次数:
93
传送门 首先可以想到二分答案,然后考虑判断 注意到所有点的外包矩形的四条边一定要被覆盖到,而正方形只有 $3$ 个,所以一定有一个正方形在角落 考虑爆搜,枚举正方形在当前外包矩形的那个角,然后对剩下的点的外包矩形继续这样搞 ...
分类:
其他好文 时间:
2019-09-03 09:15:38
阅读次数:
73
嗯... 题目链接:http://poj.org/problem?id=3041 这道题的思想比较奇特: 把x坐标、y坐标分别看成是二分图两边的点,如果(x,y)上有行星,则将(x,y)之间连一条边,而我们要做的就是要找尽量少的点把所有的边覆盖,即为最小点覆盖问题,根据König定理:最小覆盖点数= ...
分类:
编程语言 时间:
2019-08-26 22:44:56
阅读次数:
106
Hdu2037 今年暑假不AC 题意: 在一个数轴上有n条线段,现要选取其中k条线段使得这k条线段两两没有重合部分,问最大的k为多少。 解法: 这其实就是一个大水题,一个非常简单明了的区间覆盖问题。 CODE: cpp include include include include using na ...
分类:
其他好文 时间:
2019-08-24 22:43:00
阅读次数:
114
题目链接: POJ 2594 题目大意:给你 1~N 个点, M 条有向边。问你最少需要多少个机器人,让它们走完所有节点,不同的机器人可以走过同样的一条路,图保证为 DAG。 很明显是 最小可相交路径覆盖 问题。要先通过闭包建图后,再当作 最小不可交路径覆盖 问题 求解即可。 原因: 与 最小不可交 ...
分类:
其他好文 时间:
2019-08-22 13:28:25
阅读次数:
100