![](https://img-blog.csdnimg.cn/20200330135307723.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
二分
白影独角兽的技能,健步,直接半血。虽然命中率有点低哈哈哈
van之风
这个作者很懒,什么都没留下…
展开
-
P1182 数列分段 Section II
这种题固有的套路,一看到什么最大值最小,最小值最大。想都不用想,多半是贪心+二分,和前面几道题一样。但是二分的区间一定要设置好!!!就这题而言left=max(a[i],left)为a[1]–a[N]其中的最大值,而right则为所有a[i]的和,如果将left设置为1,第四个点会wa掉,所以做这种题目一定要把区间设置正确。思路:mid=(left+right )/2,然后在最大值的最小值为假定...原创 2020-03-30 13:45:52 · 406 阅读 · 0 评论 -
P3853 [TJOI2007]路标设置
说明/提示公路原来只在起点和终点处有两个路标,现在允许新增一个路标,应该把新路标设在距起点50或51个单位距离处,这样能达到最小的空旷指数51。50%的数据中,2 ≤ N ≤100,0 ≤K ≤100100%的数据中,2 ≤N ≤100000, 0 ≤K ≤100000100%的数据中,0 < L ≤10000000这道题有点类似之前的那道跳石头,跳石头是移动M块石头使得最短的最长,而...原创 2020-03-29 21:27:43 · 228 阅读 · 0 评论 -
P2678 跳石头
题目背景一年一度的“跳石头”比赛又要开始了!题目描述这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 NN 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算限制,组委会至多从起点和终点之间移走 MM 块岩石(不能移走起点和终点的岩石)。输入格式第一行包含三个整数 L原创 2020-03-29 14:25:22 · 231 阅读 · 0 评论 -
P2440 木材加工
这种题一看就是二分来做,思路也非常简单~,因为题目说了。在满足切割后的木头等于K时,尽可能切割出长一点的木头,所以我们对最长的木头来开刀,不停的二分,记录每次满足要求的结果,最后left>right 时就退出循环,AC代码如下:~#include <iostream>#include <algorithm>typedef long long int ll;i...原创 2020-03-26 13:10:27 · 498 阅读 · 0 评论 -
P1678 烦恼的高考志愿
这道题很显然,直接二分即可,代码也很好理解~思路:将a[i]从小到大排序(学校的录取线),然后循环遍历b[i],找到第一个大于等于a[i]的元素,如果没有就将指向最后一个,如果是第一个。那就直接加上两者之差即可fabs(a[1]-b[i]),否则比较fabs(b[i]-a[res])和fabs(b[i]-a[res-1]) 取其中的最小值即可之前有两个点一直A不了,一定要注意。如果没有比b[...原创 2020-03-26 09:26:10 · 346 阅读 · 0 评论 -
P1873 砍树
这道题是一道典型的二分。思路:找到其中的最高的一颗树,对其二分。每次判断mid高度的时候,所有数目的截距之和是否大于等于需要的木长M,如果是大于等于,那就记录下此时的高度,一直循环,直到top<bottom为止#include <iostream>#include <algorithm>using namespace std;typedef long l...原创 2020-03-25 18:49:36 · 163 阅读 · 0 评论 -
P1102 A-B 数对
这道题,很明显不能暴力枚举,一开始我采用枚举的算法,但是查找是用的二分,果不其然。WA掉了两个点 ~~ **下面是84分的代码 **:~~#include <iostream>#include <algorithm>typedef long long int ll;using namespace std; int main() {...原创 2020-03-25 13:54:58 · 111 阅读 · 0 评论 -
P2249 【深基13.例1】查找
很简单的题目qaq直接手写二分原创 2020-03-24 16:41:49 · 225 阅读 · 0 评论