二分法
哎哟_不错哦
这个作者很懒,什么都没留下…
展开
-
poj 1064 Cable master(二分搜索)
题意:给你N条绳子,并告诉你每条的长度,把这些绳子切割成k条长度相等的绳子,求每条最长为多少。 思路:二分查找最后每条绳子的长度,然后去计算可以切成多少根这样的绳子,然后和k比较,大于等于K,则说明绳子长度还可以增加。小于说明绳子太长了,需要更短一些。 #include #include #include #include #inclu原创 2016-05-12 19:37:21 · 403 阅读 · 0 评论 -
poj 2456 Aggressive cows(二分搜素)
题意:直线上N个点,标记其中M个点,使得所有标记点之间最短距离最大,求这个最大的距离。 解题思路:简单的二分搜索应用。 #include #include #include using namespace std; #define INF 1000000005 #define N 100005 int a[N]; int main() { int n,m;原创 2016-05-12 20:27:21 · 320 阅读 · 0 评论 -
POJ 2785 4 Values whose Sum is 0(折半枚举)
题意:给你n个整数的四个数列,从每个数列选出一个数,使得他们相加为0,求这样的组合个数,同一个列相同的数当成不同的看待。 分析:直接暴力枚举,n^4超时,选出两个进行枚举得到数组cd,将结果排序,然后对另外两个进行枚举,然后二分搜索查找cd,判断是否存在于与其互为相反数的,时间复杂度n^2logn. #include #include #include usi原创 2016-05-13 09:55:49 · 502 阅读 · 0 评论