
高效算法——二分
文章平均质量分 76
-sky-
这个作者很懒,什么都没留下…
展开
-
例题1.12 组装电脑 Assemble UVALive - 3971 模拟或者二分
传送门题目大意:你有b块钱,要组装一台电脑,给n个配件,每个配件给出种类,名称,价格,品质。电脑整体水平取决于最差的哪个配件的品质,因此要求最低的品质的配件的品质尽可能的大。输出组装的电脑配件里面最低的品质的最大值。解题思路:首先我想到的是都买最便宜的,然后有钱就把最差的换的稍微好一点。不断更新。因为每次提升都是把最差的变好,那么就会更新到最大值。更换配件时我们都买最便宜的换掉当前品质最差原创 2017-08-12 13:21:56 · 358 阅读 · 0 评论 -
例题1.13 派 Pie UVALive - 3635 二分
传送门题目大意:你和你的f个朋友分蛋糕(也就是一共f+1个人),有n个蛋糕,要求每个人分到的一样多,并且蛋糕不能拼接。可以有剩余。求每个人最大能分到的面积是多大。给定n个蛋糕的半径。解题思路:直接二分即可,答案一定在0和最大的蛋糕面积之间。我们测试x是否可以,我们只需检测可以切下多少个x面积的蛋糕,只要够f+1块即可。本题与白书割绳子例题一样。AC代码:#include原创 2017-08-13 10:52:07 · 254 阅读 · 0 评论 -
Mahmoud and Ehab and the binary string CodeForces - 862D 二分+交互题
题目大意:有一个长度为n的二进制串,你可以自己猜n长度的字符串,然后问题目, 题目会告诉你不一样的位置有几个,最多提问十五次。然后提交任意一个0的位置和任意一个1的位置,题目保证二进制串中最少有一个1和一个0; n的长度不会超过一千解题思路:2的10次方一千左右,因此这个题可以是二分,二分查找条件就是前半部分内是不是包含01串或者10串(就是说只要不全为0或者全为1原创 2017-09-24 15:08:32 · 385 阅读 · 0 评论 -
CodeForces - 862E 二分+错位求和技巧
传送门题目大意:给一个长度为n的数组a, 和一个长度为m的数组b,和更新次数q; 函数f(j)的意思是 , 求出最小的函数值,然后会有q次更新数组a, 每次更新一个区间,从l到r之间每个值加x。输出每次更新之后所有f的最小值。解题思路:我们可以通过技巧获得没更新之前的每个函数值,具体看代码。我们看公式可以看出一个规律,我们更新数组a时,如果更新的个数是偶数,等于没更新(数组a的系数原创 2017-09-26 12:14:42 · 297 阅读 · 0 评论