
二分搜索
Conchpeng
贵在坚持。如有错误欢迎指正。
展开
-
Codeforces Round #202 C - Mafia
这个题二分做,对于确定x更新次,我们可以确定是否能够更新,如果满足任意a[i]=x就满足情况。对x来说x越大,越快让每个人更新好,这样就有个单调性,就可以用二分来做。 这题也没想到二分做,做题要考虑多方面的解题思路把。说穿了还是题刷的不够多,理解的不够深刻。/*If I get TLE , it is good.If I get AC,it's NICE !*/#include #in原创 2017-07-07 20:39:42 · 488 阅读 · 0 评论 -
明七暗七 [二分+数位DP]
明七暗七 思路:二分+数位DP#include <bits/stdc++.h>using namespace std;typedef long long ll;ll dp[50][10][3];int bit[50];ll dfs(int pos,int mod,int have,bool lead,bool limit){ if(pos==-1) ret...原创 2018-09-17 17:10:05 · 785 阅读 · 0 评论 -
C. Road to Cinema【二分】
C. Road to Cinema题意:n辆车分别有对应的价格和油箱容量,有2种行驶模式,分别是① 1km 1min 2L② 1km 2min 1L问从坐标原点x=0到x=s,在t分钟内至少花费多少钱。若不能到达,则输出-1思路:二分出t分钟内能到达的最小油箱容量#include<bits/stdc++.h>#define PI acos(-1.0)#define pb push_...原创 2018-07-08 23:42:11 · 255 阅读 · 0 评论 -
EDU15 C. Cellular Network[二分]
C. Cellular Network题意:n个城市在x轴上的坐标c[i],m个灯的坐标d[i],每个灯的射程在[d[i]-r,d[i]+r],求最小的r使得所有的城市都可以被灯覆盖思路:单调函数,r越大肯定覆盖的概率越大.二分r#include<bits/stdc++.h>#define PI acos(-1.0)#define pb push_back#define F fi...原创 2018-06-10 16:05:43 · 261 阅读 · 0 评论 -
Codeforces Round #402 (Div. 2) D. String Game[二分]
链接:传送门题意:有p,t两个字符串,现在有p.size()次操作,问最多能执行多少次操作,使得t仍旧是p的子序列.一开始t一定是p的子序列思路:二分check#include<bits/stdc++.h>#define PI acos(-1.0)#define pb push_back#define F first#define S second#define debug ...原创 2018-05-11 19:00:42 · 165 阅读 · 0 评论 -
Educational Codeforces Round 32 E. Maximum Subsequence[折半搜索+二分+状压枚举] 好题!
E. Maximum Subsequencetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an array a consisting o原创 2018-04-09 19:47:14 · 261 阅读 · 0 评论 -
Max and Bike CodeForces - 594B【二分+数学+思维】 好题+1 ·-·!
题意:一个轮子上有安装一个测速器,已知起点s,终点f。当测速器经过S,F面的时候,开始计时和结束计时。问,对于确定的s,f,求最少的时间。思路:对实际路程进行二分 等效于 对时间进行二分。可以对时间进行二分的原因:LimT→∞成立,LimT→0不成立。那么对于确定的T,也就是确定的实际距离s。我们去判断,对于确定的s,我们能够跑的虚假距离是不是大于当前给定的路程dx。求原创 2017-08-22 15:34:20 · 490 阅读 · 0 评论 -
Codeforcess 535C Tavas and Karafs【二分+数据处理】
题意: 已知以A为首项,B为公差的等差数列(无穷项)。输入n(询问次数),每次输入L,T,M 。 代表的意义分别为,从L开始,每次可以选择M个数-1 , 一共可以执行T次。 求,最大的R是多少。数据分析:1 ≤ A, B ≤ 1e6 , 1 ≤ n ≤ 1e5(注意n次询问噢-·-) 1 ≤ l, t, m ≤ 1e6思路: 1.单调性很明显,R越小,次数越少,R越大,次数越多。所以原创 2017-08-15 10:11:55 · 324 阅读 · 0 评论 -
832C - Strange Radiation【二分+思维】
题意:有n个人坐落在ox坐标上。已知每个人的x,v(速度),dir(朝左还是朝右)。 现在有一颗定时炸弹,一旦炸弹引燃,所有人向其当前方向以速度v跑。在爆炸的同时,炸弹会朝正负两个方向释放一条射线,一旦有人碰到了,那么其速度会改变为v+s(射线速度)。 现在问,满足 让x=0和x=1e6都有人经过的最短时间是多少。思路:二分 时间。 时间越长,肯定能跑,时间越短,越难跑。那么单调性很原创 2017-08-21 09:38:41 · 481 阅读 · 0 评论 -
Codeforces 483B Friends and Presents【二分+数论】涨姿势~~~
题意:对于区间[1,v] 求最小的v,使得该区间可以分成2堆,第一堆不是x的倍数并且个数大于cnt1 , 第二堆不是y的倍数且个数大于cnt2 。知识预备:1.对于1~v的区间,不是x的倍数的个数有v-v/x个(数论)。 2.晓得二分的写法,不能写成死循环。思路:曾经想到了二分,没敢往下写。因为这明显有单调性,对于确定的v,我们可以确定这个v 是不是满足要求原创 2017-08-13 15:03:24 · 352 阅读 · 0 评论 -
牛牛的背包问题 [折半枚举]
链接 折半枚举的思想,主要讲暴力枚举,进行两次拆分,并且答案可以sort后寻找匹配方案的情况下,使用折半枚举#include <bits/stdc++.h>typedef long long ll;using namespace std;ll n,w,v[50];vector<int> ans1,ans2;int main(void){ ci...原创 2018-12-06 20:28:17 · 237 阅读 · 0 评论