
分治
文章平均质量分 56
16bit戦争
这个作者很懒,什么都没留下…
展开
-
POJ 3714 Raid 平面最近点对
题目大意:给出两个集合的点,问这两个集合之间最近的点对的距离是多少。思路:先要知道平面最近点对的分治算法,剩下的就简单了,只需要在更新答案的时候判断一下两个点是否属于两个集合就可以了。分治算法总是十分神奇的。对于平面最近点对,首先按照x坐标排序,然后递归进行分治,每次分治时,先获得分治得到的结果,然后按照这个结果来计算本区间。由于我们只需要计算答案小于这个结果的点对就行了,其中原创 2015-01-13 16:27:47 · 960 阅读 · 0 评论 -
BZOJ 2458 BeiJing 2011 最小三角形 分治
题目大意:给出平面上一些点,问这些点组成的最小周长三角形的周长是多少。思路:与平面最近点对类似的思想,先按照x值排序,通过全局目前搜到的最优解来缩小分治之后需要暴力枚举的范围。具体来说,递归的终止条件是需要处理的点数小于一定数量,就在这些点中暴力枚举来更新答案。这个值经过测定,在这个题中20左右为最快的。具体怎么算我也不知道。。之后每处理一段区间,先递归处理左右区间来更新答案,弄出原创 2015-01-15 19:56:54 · 884 阅读 · 0 评论 -
BZOJ 3897 Power 分治
题目大意一个人打工,每一天有一个收益,使用一点体力可以获得一份收益,每天回复固定的体力,体力有一个上限,超出之后就不回复了。问最多可以获得多少收益。思路分治策略:Solve(l, r, st, ed)表示第l天到第r天,初始体力为st,结束体力为ed的最大收益。显然,我们想让这个区间中的收益最大的那天干的越多越好,于是分情况讨论: 如果从一开始就休息,一直休息到收益最大的那天,没有达到体力的上限,原创 2015-03-28 14:45:19 · 1384 阅读 · 0 评论