随笔分类 - 二分
摘要:problemsolutioncodes#include#include#includeusing namespace std;int n, k;double a[10000];bool C(double x){ int sum = 0; for(int ...
阅读全文
摘要:problem将n个罪犯分别关押进2座监狱每2个罪犯之间有一个冲突值,当他们在同一监狱时就会爆发让爆发的冲突值(最大的那个)最小,求那个最小值solution考虑判定:是否存在一种分配方案,使最大的冲突值不超过mid。当mid较小时的可行方案对于更大的mid一定可行(...
阅读全文
摘要:problem一条路上有n个教学评估团,对于每个评估团从s开始每d个站一个人直到e结束现在要找到一个站的人数是奇数的点,这个点可能没有,且至多只有一个问这个点在哪以及这个点站了多少人solution因为最多只有一个点是奇数,所以很显然会想到奇数+偶数=奇数,所以说明这...
阅读全文
摘要:1、二分的基本用法是在单调序列或单调函数中进行查找。 2、当问题的答案具有单调性时,就可以通过二分把求解转化为判定(判定一般比求解容易实现。A基本用法(这里都是个人写法,可以跳过1、整数域1)原则最终答案处于闭区间[l,r]内循环以l==r结束每次二分中间值mid归属...
阅读全文
摘要:problem一个长度为N的正整数数列A[i]将其分成M段,并要求每段连续求每段和最大值(M段各自的和中最大的那个)最小(某种方案下最小)。solution二分每段和的最大值mid。 如果存在一种划分方案使得每段和为mid成立,就去找更小的。反之找更大的。!!!第4个...
阅读全文
摘要:problem给定一个正整数数列A,求一个平均数最大、长度不小于L的子段。solution二分判定:是否存在一个长度大于L,平均数不小于二分值的子段。codes#include#include#include#includeusing namespace std;do...
阅读全文
摘要:problemsolutioncodes//二分答案//QAQ注意:起点和终点也是有石头的w#include#include#define maxn 100010using namespace std;int ll, n, m;int a[maxn];bool che...
阅读全文
摘要:problem给出一个1到n的全排列,现在对这个全排列序列进行m次局部排序排序分为两种 1:(0,l,r)表示将区间[l,r]的数字升序排序 2:(1,l,r)表示将区间[l,r]的数字降序排序 最后询问第q位置上的数字。solution考虑二分答案 对于mid ...
阅读全文