二分三分
文章平均质量分 73
AlmostFree
这个作者很懒,什么都没留下…
展开
-
hrbust 1039 修路(二分+贪心 or DP)
题意是给一段从A到B的路,分成n段,由m个原创 2014-06-25 19:25:58 · 1245 阅读 · 0 评论 -
poj 3662 二分+最短路
题意:给定一个n个点的无向图fr,to,w。现在从1点到n点,有k条边可以免花费,求免费之后剩下的那些边里面最大花费最小的值是多少。解析:首先搞懂题意,从1点到n点可以有很多条路。假设已经确定了一条路径,则这些边里面花费最大的k个肯定使用免费最赚,然后剩下边里面找到最大的就是当前的这个花费值了。要使这个花费值最小,就直接假设到这个值去二分。二分的比较项是大于当前原创 2015-08-02 19:54:52 · 413 阅读 · 0 评论 -
poj 3685 二分套二分
题意:给一个n * n 的矩阵, 其中每个元素的大小为:i * i + 100000 * i + j * j - 100000 * j + i * j现在给n和m,求这个矩阵中第 m 大的元素是什么。解析:发现上面那个式子是按照,每一列,从小到大递增的。所以可以先二分设定一个mi元素,然后按照每一列来二分统计比它小的元素有多少个。如果比它小的元素个数大于m,则说原创 2015-08-02 13:04:34 · 431 阅读 · 0 评论 -
poj 3579 二分+lower_bound
题意:给n个数字组成的序列,求| Xi - Xj | ( 0 n(100000),X(1000000000)。解析:n灰常大,所以普通枚举不行。所以先二分中位数是多少。然后将X排个序,然后可以二分出比(mi + Xi)大的数有多少个,代表了差值中比中位数大的数有多少个。然后若个数 二分15次就可以得到答案了,50次的话差不多TLE那样。代码:原创 2015-08-02 11:10:33 · 451 阅读 · 0 评论 -
poj 1759 二分搜线性
题意:有n个灯泡,每个灯泡距离地面高度为hi,现在给了第一个灯泡的高度a。求最后一个灯泡的高度b的最大值。解析:这题刚看这怎么能二分啊...其实是第二个灯泡和最后的高度b是成正相关的,所以去二分猜测第二个灯泡的高度。若第二个灯泡的高度能让之后的每一个灯泡高度都大于0,则这个高度是ok的,可以继续增大。代码:#include #include #i原创 2015-08-02 21:49:11 · 378 阅读 · 0 评论 -
poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111
题意:在n场考试中,每场考试共有b题,答对的题目有a题。允许去掉k场考试,求能达到的最高正确率是多少。解析:假设已知准确率为x,则每场考试对于准确率的贡献值为:a - b * x,将贡献值大的排序排在前面舍弃掉后k个。然后二分x就行了。代码:#include #include #include #include #include #incl原创 2015-07-31 12:41:26 · 407 阅读 · 0 评论 -
poj 3104 二分答案
题意:n件湿度为num的衣服,每秒钟自己可以蒸发掉1个湿度。然而如果使用了暖炉,每秒可以烧掉k个湿度,但不计算蒸发了。现在问这么多的衣服,怎么烧事件最短。解析:二分答案咯。代码:#include #include #include #include #include #include #include #include #include原创 2015-07-30 23:28:34 · 537 阅读 · 0 评论 -
poj 3258 二分最小值最大
题意:有一些石头排成一条线,第一个和最后一个不能去掉。其余的共可以去掉m块,要使去掉后石头间距的最小值最大。解析:二分石头,最小值最大。代码:#include #include #include #include #include #include #include #include #include #include #includ原创 2015-07-30 19:38:15 · 420 阅读 · 0 评论 -
uva 10474 Where is the Marble?(二分STL)
题意很简单,找到排序后的原创 2014-07-01 13:43:34 · 383 阅读 · 0 评论 -
hoj 2651 Pie(二分)hoj 2278 (二分)
题意:有f+1个人分n块披萨,每个人要求分得的面积一样,且披萨只能被切开而不能重新组合,求每个人能分到的最大面积v。注意,主人本身有算进去。原创 2014-06-26 14:06:12 · 537 阅读 · 0 评论 -
zoj 3203 Light Bulb(计算几何)
题意是给定如图的H,h,D,求最大的影子L。原创 2014-06-26 21:54:57 · 543 阅读 · 0 评论 -
poj 3977 折半枚举二分搜索
题意:从n(35)个数字(有正有负)中取出一个非空子集,使得其和的绝对值最小。若最小的绝对值有多组,则选择非空子集元素个数最少的。解析:折半来枚举。将35分成两半,第一半状态压缩,然后用map离散化每个sum和num。然后第二半还是状态压缩完了在map里面找最接近-sum的数。ps,真是超级喜欢hankcs的c++代码风格。- - 12s原创 2015-08-05 11:20:38 · 431 阅读 · 0 评论