
二分
林伏案
妖蛾子良多的范老爷
展开
-
poj2976(二分求解0/1分数规划模型)
/*translation: 给出n场考试,每场考试有总题量,和你答对的题量。现在要求你去掉一些考试项目,使得你的正确率能够达到最大是多少?solution: 0/1分数规划,二分解决 赤裸裸的0/1分数规划,但是此题不能采用dp,因为a,b数据太大,超时。所以考虑采用二分来枚举可能的最大正确率。 然后判断该次枚举的是否可能。这样就转化成了二分确定最大值的问题。现在怎么判断是个问题。因原创 2016-11-03 20:32:28 · 509 阅读 · 0 评论 -
poj3273(二分最大化最小值)
/*translation: 将N个数字分割成M个段,使得每个段和的最大值最小。solution: 二分最大化最小值即可note: *:这道题注意输出的边界。稍不注意就会错误。现在统一总结下写法: 二分最大(小)化最小(大)值时候。check函数里面=所在的位置决定了是最大化还是最小化 而输出是输出pr是输出最大值,输出pl是输出最小值date: 2016.11.2*/原创 2016-11-02 20:17:49 · 427 阅读 · 0 评论 -
poj3104(二分判断可行性)
/*translation: 要使得一排衣服晾干,自然风干每分钟蒸发1单位的水分。用烘干机的话每分钟蒸发k单位的水分。求把所有衣物晾干的话至少需要多长时间?solution: 二分查找最小可行解 首先二分枚举最短的时间mid。然后是判断该时间是否可行。可以发现对于水分单位量小于mid的衣服。只需要待其自然风干即可。 而对于a[i]>mid的衣物来说,要使得能够在mid时间内完成衣物的烘原创 2016-11-02 20:06:49 · 401 阅读 · 0 评论 -
poj2456(二分最大化最小值,贪心)
/*translation: 有n间牛舍在一条直线上面,要住进c头牛。求每头牛之间的最大的最小距离能是多少?solution: 二分最大化最小值,贪心 首先二分枚举最优解,其次就是判定该次最优解是否可行。这一步骤可以按照贪心法来判定。 最后逐步缩小范围。note:date: 2016.11.1*/#include #include #include #include原创 2016-11-01 23:28:41 · 417 阅读 · 0 评论 -
poj1759(二分找寻最值)
/*translation: 有n个灯泡挂在距离地面分别是hi的高度上。对每个hi有如下几个条件的限制: H1 = A ; Hi = (H i-1 + H i+1)/2 - 1, for all 1 < i < N ; HN = B ; Hi >= 0, for all 1 <= i <= N 求最大的B值是多少solution: 二分枚举第二个灯泡的高度即可note: #:输原创 2016-11-13 22:00:59 · 298 阅读 · 0 评论 -
poj3685(二分查找第k小)
/*translation: 给出一个矩阵,其中每项的值为:i*i + C*i + j*j - C*j + i*j;(i,j分别为所在的行和列)。求其第m小的数字solution: 二分查找k小数字 观察发现矩阵的规律是从上倒下递增,从左到右递减。可以根据这个规律来二分查找有几个小于当前给出的值。详见代码note:date: 2016.11.5*/#include #incl原创 2016-11-13 21:27:22 · 499 阅读 · 0 评论 -
poj1064(二分处理浮点类型技巧)
/*translation: 给出n条电缆以及他们的长度,要从它们当中切取出k条长度相同的绳子。这k条绳子每条最长能够有多长?solution: 二分即可,浮点类型处理的一些技巧note: 1:注意输出的时候要做下floor处理 2:二分判断退出的条件不能是认为切割条数等于k条就退出。这样求出的不一定是最优解。正确姿势是不断让它循环求解到某个预先 设定好的次数。这个次数不能太原创 2016-10-31 21:49:14 · 275 阅读 · 0 评论 -
poj3579(二分求解第k小/大值)
/*translation: 给出串数列,其中每每两个数的差的绝对值构成一个集合,求这个集合中的中位数。solution: 二分法求第k小/大 首先枚举第k小/大的数值,然后判断是否有k个值小/大于等于它即可,然后不断逼近。 具体快速判断的方法见代码注释。具体复杂度接近O(n)note: *:注意本题快速判断小于等于mid值的个数的方法date: 2016.11.4*/#i原创 2016-11-04 19:43:54 · 482 阅读 · 0 评论 -
poj3111(均值的二分最大/小化)
/*translation: 给出n件物品,已知每件物品的重量和价值。要从这n件物品中选出k件,使得它们的单位价值最高。该选择哪几件?solution: 均值二分最大化 这道题同样不能用贪心。因为列出公式就可以看到每次的决策和全部的价值总和以及重量总和有关。故简单的贪心肯定是错误的。 所以对于这类问题可以二分枚举最优解,然后转化问题为判断当前枚举的最优解是否可行。即判断sum(V0..原创 2016-11-04 10:46:33 · 309 阅读 · 0 评论 -
la2678(前缀和,二分/尺取法)
/*translation: 有n个正整数组成一个序列。给定整数s,求长度最短的连续序列,使得他们的和大于等于ssolution: 前缀和,尺取法/二分 这道题可用尺取法或者二分法。 无论是尺取还是二分,都要求出前缀和。用二分法时,枚举起点,然后二分查找满足条件的 终点,同时更新维护答案即可。(根据前缀和的单调性) 如果用尺取法的话,就是最简单的原创 2017-03-11 15:09:49 · 711 阅读 · 0 评论