![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分治与递归
文章平均质量分 73
冷月残星
这个作者很懒,什么都没留下…
展开
-
分治法,最小权完美匹配(巨人和鬼,Ants,uva 1411)
分治法解法:感觉能用分治法解的问题都有自相似性吧。就是说把大的情况按某种方式切成几个小的情况,这些小的情况和大的情况是相似的。如果满足这个条件,那么最简单的情况的解答方案是显然的。我们只需要考虑好如何合并多个小情况即可。跟快速排序的思想很像啊。看紫书P227吧,讲的详细。最小权完美匹配解法:黑点和白点个数相同,每个黑点要找一个白点,应该要想到二分图完美匹原创 2016-08-20 16:42:58 · 3739 阅读 · 2 评论 -
分治法(Erratic Expansion,uva 12627)
#includeusing namespace std;typedef long long ll;ll san[35];ll er[35];void init(){ san[0]=er[0]=1; for(ll i=1;i<=30;i++) { san[i]=san[i-1]*3; er[i]=er[i-1]<<1;原创 2016-09-12 18:27:44 · 261 阅读 · 0 评论 -
分治法,中途相遇法(Non-boring sequences,uva 1608)
分治法很容易想到。中途相遇法真是个神奇的东西。意思大概就是,你可以从两边出发去寻找答案,然而无论你从那一边出发,随着寻找的次数逐渐增多,枚举量飞速增长,因此你不如从两边一起找,这样两边的枚举量都能显著控制在较低水平,从而提高程序效率。感觉在uva超时了就很有可能是数组越界了。。。代码#include#define maxn 200010#define INF原创 2016-09-13 21:43:55 · 747 阅读 · 0 评论