算法
cris001cris
这个作者很懒,什么都没留下…
展开
-
贪心算法解半径覆盖问题
如下图所示,X轴表示海岸线,X轴上方表示海洋,下方表示陆地,X轴上方的n个点表示船。现在需要在海岸线上安装几个雷达,每个雷达的覆盖半径至多为d。 问题:给定n,d和船的坐标,给出算法求解覆盖所有船所需的最少雷达数。 贪心策略: 先把点按X轴排序 求出能覆盖每条船的点在X轴上的区间。从最左边的点开始,如果下一个点的左区间比现在的右区间还大,就要新的基站;如果下一个的右区间小于现在的右区间,原创 2016-12-16 13:27:12 · 5462 阅读 · 1 评论 -
分治算法的简单应用
1.要求2n个数的中位数,采用分治策略。每次划分后,都会去掉一半的数,只剩原来一半的数。 递推关系式为:T(n)=T(n/2)+O(1),由master定理,可得时间复杂度为O(logn)。#include<cstdio>#include<iostream>#define N 1000000using namespace std;int a[N],b[N];int i,n;int get原创 2016-12-19 19:19:55 · 419 阅读 · 0 评论