
二分
行走天涯的豆沙包
人生天地间,忽如远行客。
展开
-
HDU——5256
传送门题解:又题意知道ai+1>=ai+1a_{i+1}>=a_i+1ai+1>=ai+1所以变换一下得到ai+1−(i+1)>=ai−ia_{i+1}-(i+1)>=a_i-iai+1−(i+1)>=ai−i。所以我们改变一下a数组再求一个LIS。#include <bits/stdc++.h>using namespace std;const int N=1e5+10;int a[N];int main(){ int T=1原创 2020-06-10 14:37:28 · 202 阅读 · 1 评论 -
树状数组+二分——HDU5493
传送门题解:因为有限制的是比当前人更高的人才有限制。所以如果之前安排的人都比这个人的身高低的话那么不会造成任何贡献。所以相当于按照空位插空,如果需要安排的人数大于空位数显然是无解的。空位数用树状数组存,因为位置越向右前面被占的位置越多,留下的空位越少,所以具有二分性。那么就有两种情况,一种是插左边,那么空位数就需要num+1个,如果之前的人和比他高的人都插右边的话就需要n-i-num+1个。取min就满足字典序最小了。#include<bits/stdc++.h>//#define i原创 2020-06-09 19:27:52 · 168 阅读 · 0 评论 -
POJ 3579
传送门题解:首先我们知道N个序列可以产生n∗(n−1)/2n*(n-1)/2n∗(n−1)/2个差值。我们可以通过二分答案(mid),然后统计大于数组中每个数mid的数目是否大于我们n∗(n−1/4。n*(n-1/4。n∗(n−1/4。#include <iostream>#include <algorithm>using namespace std;const int N=1e5+7;int a[N],n;typedef long long ll;ll num;原创 2020-06-06 21:11:03 · 152 阅读 · 0 评论 -
poj3685
传送门题解:我们写出函数可以知道存在两个变量i,ji,ji,j,我们随便定一个变量,他们都是一个单调上升的函数,所以我们二分套二分,二分答案和二分变量(枚举一个变量另一个变量二分)搜索满足的条件。#include <cstdio>#define int long longconst int N=5e5+10;using namespace std;const int inf=0x3f3f3f3f3f3f3f;int n,m;int cal(long long i,long lo原创 2020-06-05 20:01:15 · 144 阅读 · 0 评论 -
2017CCPC哈尔滨——K-th Number
传送门题解:读错题了很久,后来才读懂是给一个长度为 n 的数组 a ,把所有长度大于等于 k 的区间中的第 k 大值插入 bb 数组中, 问 b 数组的第 m 大数是多少。所以我们找的时候在一段区间内如果有k个数已经大于二分的答案了之后,那么后面的区间都是满足的,一共有n-pos+1个区间。然后这个时候我们移动当前iii的时候需要注意当前值是否有贡献也就是是否是大于二分答案的,如果大于当我们左端点移动走了过后我们相当于区间内大于mid的值会减一。#include <bits/stdc++.h&g原创 2020-05-12 16:41:46 · 209 阅读 · 0 评论 -
CodeForces - 1111C——分治
CodeForces - 1111C题解:直接分治,对应的区域求有多少个复仇者,如果没有直接返回,不然会超时。#include <bits/stdc++.h>using namespace std;#define int long longconst int N=1e5+7;int a[N],sum[N];int n,k,A,B;int solve(int l,int...原创 2020-03-22 17:35:28 · 462 阅读 · 0 评论 -
A Game with Traps—— 二分
A Game with Traps题解:上图其实是我们两种决策的方案。决定我们在某点时刻到底是折返回去带队还是继续排雷。我们发现当区间有交集的时候就继续排雷。否则折返回去带队这样花费的代价是最小的。然后就是去找题目中的二分性在哪里。我们可以发现当我们二分最低敏感度士兵的时候是具有二分性的。我们需要带的士兵的敏感度越低我们需要排的雷越多代价也就越大。这道题用了一个排序再间接通过队内士兵中的...原创 2020-03-07 14:43:07 · 176 阅读 · 0 评论 -
Alice's Print Service HDU - 4791——寒假训练
A - Alice’s Print Service HDU - 4791Alice is providing print service, while the pricing doesn’t seem to be reasonable, so people using her print service found some tricks to save money.For example, ...原创 2020-02-21 17:54:12 · 177 阅读 · 0 评论 -
树状数组+二分——谜一样的牛
谜一样的牛有n头奶牛,已知它们的身高为 1~n 且各不相同,但不知道每头奶牛的具体身高。现在这n头奶牛站成一列,已知第i头牛前面有Ai头牛比它低,求每头奶牛的身高。输入格式第1行:输入整数n。第2…n行:每行输入一个整数Ai,第i行表示第i头牛前面有Ai头牛比它低。(注意:因为第1头牛前面没有牛,所以并没有将它列出)输出格式输出包含n行,每行输出一个整数表示牛的身高。第i行输出第...原创 2020-02-04 23:42:28 · 375 阅读 · 0 评论 -
单调队列优化DP+二分——绿色通道
绿色通道高二数学《绿色通道》总共有 n 道题目要抄,编号 1,2,…,n,抄第 i 题要花 ai 分钟。小 Y 决定只用不超过 t 分钟抄这个,因此必然有空着的题。每道题要么不写,要么抄完,不能写一半。下标连续的一些空题称为一个空题段,它的长度就是所包含的题目数。这样应付自然会引起马老师的愤怒,最长的空题段越长,马老师越生气。现在,小 Y 想知道他在这 t 分钟内写哪些题,才能够尽量减...原创 2020-01-17 11:33:26 · 355 阅读 · 0 评论