二分(二分答案)
文章平均质量分 68
Nowed
把泪水种在心上,一定会开出勇敢的花。
展开
-
#二分+贪心# [校测 大鱼吃小鱼]
Title大意:有nnn条小鱼,两两分组(只剩下一个的单独分组),如果一条小鱼是另外一条小鱼的两倍或以上就能把另外一条小鱼吃掉,问最后的剩下的最少的小鱼数量。Solution首先,从小到大排序,假如是可以匹配的话,前kkk条小鱼是一定与后kkk条小鱼匹配的。我们可以二分前kkk条小鱼,每次checkcheckcheck判断后kkk条小鱼是否能匹配。Code#include<cstdio>#include<algorithm>#include<cstring&原创 2020-10-30 20:47:02 · 310 阅读 · 0 评论 -
#三分# [luogu P3382] 【模板】三分法
TitleP3382 【模板】三分法Solution三分模板Code#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define db doubleusing namespace std; const db eps=1e-7; int n; db l,r,mid,a[15]; db check(db k){ db sum=0; for(原创 2020-10-28 21:29:03 · 102 阅读 · 0 评论 -
#分块+二分# [luogu P2801] 教主的魔法
TitleP2801 教主的魔法Solution注意lower_bound求的是大于等于,upper_bound求的是大于之前还是比较纳闷有什么题目是分块做的了但是线段树做不了的,发现这道题目可以练一下分块似乎洛谷上线段树的做法的都是可以被卡掉的。但是听说: 线段树+分治似乎可以做。可以重构(排序)每一个区间,以至于单调递增这样的话,在询问的时候,可以二分处理。时间复杂度O(q(nlogn))O(q\sqrt{(n\log n)} )O(q(nlogn))Code#inc原创 2020-10-16 12:15:37 · 156 阅读 · 0 评论 -
#二分+RMQ# [luogu P4085] [USACO17DEC]Haybale Feast G
TitleP4085 [USACO17DEC]Haybale Feast GSolution注意rmq中的log要预处理好,还有注意是否要long long注意本题二分的是r,所以判断条件的时候不要习惯性的打成r-lCode#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define ll long long #define rep(i,x,y原创 2020-10-15 10:57:21 · 137 阅读 · 0 评论 -
#状压DP+二分#[luogu P3092] [USACO13NOV]No Change G
TitleP3092 [USACO13NOV]No Change GSolution因为m<=15m<=15m<=15,可以状压使用的硬币情况。对于每一种状态,我们枚举使用的第jjj枚硬币,然后从没有使用这枚硬币转移到使用了这枚硬币。d[i]d[i]d[i]表示iii状态下最多可以买下多少货物f[i]f[i]f[i]表示iii状态下最少的花费对于当前的硬币可以买下后面最多的多少货物,可以二分然后转移。如果d[i]==md[i]==md[i]==m也就是可以买完的时候,更原创 2020-10-10 10:12:39 · 179 阅读 · 0 评论 -
#线段树/二分答案# [luogu2824] [HEOI2016/TJOI2016]排序
TitleP2824 [HEOI2016/TJOI2016]排序Solution一个01序列,如果排序的话,以升序为例,加入当前序列中有cntcntcnt个为111,那么n−cnt+1n-cnt+1n−cnt+1到nnn可以全部赋值为111,然后111到n−cntn-cntn−cnt全部赋值为000,这就可以完成一次排序。注意题目给出的是一个排列。当前位置的数字可以二分答案。二分midmidmid,对于a[i]>=mida[i]>=mida[i]>=mid的都标记为111,反原创 2020-10-09 16:29:01 · 153 阅读 · 2 评论 -
#二分答案+spfa# [luogu P1948] [USACO08JAN]Telephone Lines S
TitleP1948 [USACO08JAN]Telephone Lines SSolution二分需要花费的路径的长度ggg,然后判定的时候,将所有小于等于ggg的路径赋值为0,否则为1。然后求111到nnn的最短路,如果距离小于等于kkk则缩小二分右端点,否则扩大二分范围。Code#include<cstdio>#include<algorithm>#include<queue>#include<cstring>#define原创 2020-08-12 13:32:55 · 137 阅读 · 0 评论 -
#二分# [luogu 蒟蒻梦想-CSP考前加油赛]画地为佬
题目https://www.luogu.org/problem/U92904?contestId=23574解题思路我们可以二分一个最大正方形的边长xxx,然后不断用剩下的边长填补正方形,第一次补333,第2−x2-x2−x补222。代码#include<cmath>#include<cstdio> #include<algorithm>#d...原创 2019-11-13 08:19:41 · 233 阅读 · 0 评论 -
#二分查找#[nssl1437]逮虾户
题目解题思路开doubledoubledouble即可。因为具有单调性,可以二分,注意上下界(直接暴力二分次数)。注意if (n) printf("-1");这里的nnn是负数也会执行。get:get:get: if(n)if (n)if(n)判断的是nnn不等于0代码#include<cstdio>#include<algorithm>usin...原创 2019-11-12 14:33:16 · 159 阅读 · 0 评论 -
#hash,二分#[luogu 2870] [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold
题目https://www.luogu.org/problem/P2870解题思路显然,每一次取的都是前面或者是后面较大的一个。但是如果两个是一样的,我们可以用先预处理好从前面和从后面扫的hash值,然后用二分查找出前后相同的长度在决定取哪一个。代码#include<cstdio>#define ull unsigned long long #define rep(i...原创 2019-11-08 19:00:49 · 173 阅读 · 0 评论 -
[jzoj 6294] 动态数点 {RMQ+二分}
题目解题思路跟数字对这道题一模一样, 可是比赛的时候竟然mle了。不过需要注意一下,题目数据范围有一点坑,全部改成int就可以AC了。二分时要从111到nnn。代码#pragma GCC optimize("O2")#pragma GCC optimize("O3")#include<cstdio>#include<algorithm>#inclu...原创 2019-08-15 16:56:36 · 223 阅读 · 0 评论 -
[luogu1525] 关押罪犯{二分图判定}
题目https://www.luogu.org/problemnew/show/P1525解题思路首先,我们考虑这样一个判定问题:是否存在一种分配方案,使得最小的矛盾值不超过mid。显然,当mid较小时可行的方案对于mid较大时依然可行。换言之,本题的答案具有单调性,可以采用二分的方法求解,将求最小值问题转换为判定问题策略如下:我们二分答案,设当前二分的值为mid,此时任意两个矛盾双方...原创 2019-04-12 22:07:52 · 307 阅读 · 0 评论 -
[jzoj 1287] 躲雨{最短路+二分答案+网络流}
#include#include#include#define ll long long#define rep(i,x,y) for(register int i=x;i<=y;i++)using namespace std;const int inf=(1<<30),N=505;queue q;struct qwq{int x,y;}g[305];struct...原创 2019-03-17 15:24:34 · 242 阅读 · 0 评论 -
[jzoj 4256]平均数{二分答案+巧妙做法+前缀和优化}
题目Description给出包含一个N个整数的数组A。找出一段长度至少为K的连续序列,最大化它的平均值。请注意:一段子序列的平均值是子序列中所有数的和除以它的长度。Input第一行包含两个整数N(1<=N<=300000),K(1<=K<=N)。第二行包含N个整数,代表数组A,1<=ai<=10^6。Output一行一个实数,代表最大的平均值。...原创 2019-01-31 23:22:52 · 464 阅读 · 0 评论 -
[jzoj 3895] 数字对 {RMQ+二分}
题目Description小H是个善于思考的学生,现在她又在思考一个有关序列的问题。她的面前浮现出一个长度为n的序列{ai},她想找出一段区间[L, R](1 <= L <= R <= n)。这个特殊区间满足,存在一个k(L <= k <= R),并且对于任意的i(L <= i <= R),ai都能被ak整除。这样的一个特殊区间 [L, R]价值为...原创 2019-01-25 20:32:37 · 401 阅读 · 0 评论 -
[jzoj 2894][洛谷3365] 改造二叉树{最长不下降序列(n log n)+dfs+二分}
题目https://www.luogu.org/problemnew/show/P3365解题思路因为近几天做了一道平衡树的题目,二叉查找树是满足中序遍历(BST性质),严格满足递增。所以想到了LIS(最长上升序列),(即n-LIS是最少修改的值),但是因为题目中修改的必须是整数。 所以无法这样做,我们可以将这样的序列映射成另一个序列:a[1]−1,a[2]−2,a[3]−3........原创 2019-01-25 20:16:16 · 229 阅读 · 0 评论 -
[jzoj 4230] 淬炼神体{ 0/1分数规划+二分答案}
题目Description王仙女将你提供的答案填在《葵花宝典》上,突然,宝典发出耀眼的白光,一股强大的吸力瞬间将仙女吸入宝典中。一阵眩晕过后,仙女发现自己来到了一个浮岛上,四周的半空中也有许多大小不一的浮岛,他抬头一看,空中浮现着这样一句话:欲要成神,必先成就神体。每座浮岛都有一定的淬炼肉体的功效,但你只能选择恰好K座来淬炼你的肉体。最终你的神体有多强,就看你的造化了。仙女看了看手中的宝典...原创 2019-01-20 16:55:39 · 639 阅读 · 5 评论 -
【2018.1.30普及组模拟】小L //2018.1.30
题目题目描述 给你N个数对(a[i], b[i]),计算函数 函数y四舍五入取整。 将N个数对去掉其中的K个后计算一个新的y值,均能满足y ≤ λ,求最小的λ 值。 输入 输入包含多组数据,每组测试数据包含: 第一行两个整数N和 K; 第二行为N个数:a[1] a[2] … a[n] 第三行为N个数:b[1] b[2] … b[n] 当N、K均为0时输入结束。 输出原创 2018-01-31 19:42:14 · 314 阅读 · 0 评论 -
[LUOGU1824][JZOJ 1897]愤怒的牛//2018.2.2 {二分答案}
题目题目描述 Farmer John建造了一个有N(2 他的C(2输入 第1行:两个用空格隔开的数字N和C。 第2~N+1行:每行一个整数,表示每个隔间的坐标。 输出 输出只有一行,即相邻两头牛最大的最近距离。 【样例说明】 Farmer John把他的三头牛分别放在坐标为1、4、8的隔间里,这样所得的最近距离是3。题目原创 2018-02-02 19:02:55 · 2081 阅读 · 0 评论 -
【2014.10.18普及组】自动匹配(auto.pas/cpp/c)//2018.1.27
题目题目描述 奶牛贝里斯最近有了一部新手机,于是他经常发短信。但是他经常打错单词,因为手机屏幕太小而他的爪子太大了((⊙o⊙))。农夫约翰决定帮助贝里斯来开发一个app应用,使得可以从一个不完整的单词猜想整个单词。 App应用是由W个单词组成的,每个单词都是由’a’..’z’组成的,这些单词总的长度不超过1000000。现在,总共有N个不完整的单词,每个单词原创 2018-01-28 19:21:02 · 302 阅读 · 0 评论 -
jzoj.1792 教主的花园//2018.2.7
题目Description【问题背景】 LHX教主最近总困扰于前来膜拜他的人太多了,所以他给他的花园加上了一道屏障。 【问题描述】 可以把教主的花园附近区域抽像成一个正方形网格组成的网络,每个网格都对应了一个坐标(均为整数,有可能为负),若两个网格(x1, y1),(x2, y2)有|x1 – x2| + |y1 – y2| = 1,则说这两个网格是相邻的,否则不是相邻的。...原创 2018-02-08 08:17:23 · 228 阅读 · 0 评论 -
集合(normal)
题目集合(normal)给定两个集合A、B,集合内的任一元素x满足1 ≤ x ≤ 10^9,并且每个集合的元素个数不大于10^5。我们希望求出A、B之间的关系。 任 务 :给定两个集合的描述,判断它们满足下列关系的哪一种: A是B的一个真子集,输出“A is a proper subset of B” B是A的一个真子集,输出“B is a proper subset of...原创 2018-03-01 16:48:50 · 401 阅读 · 0 评论 -
【jzoj 1619】 音乐节拍 {前缀和+二分查找}
题目解题思路比赛时,看到这道题目的时候,第一感觉用桶或者什么的。但是我怕时间超限,于是用了一个O(n log n)的做法,先用前缀和算出每一种音的边界,然后在线处理,逐个判断,本可以再优化的。因为只是第一道题,就没必要如此“复杂”。代码#include<cstdio>#define fre(x) freopen(#x".in","r",stdin),f...原创 2018-07-08 21:41:51 · 643 阅读 · 0 评论 -
[luogu 3902] 递增{最长上升子序列(n log n)+二分查找}
题目https://www.luogu.org/problemnew/show/P3902解题思路最少修改数字=总长度-最长上升子序列 因为O(n2)O(n2)O(n^{2})的方法求最长上升子序列不能满足本题的要求,需要优化。代码#include&lt;cstdio&gt;using namespace std; int le,ri,mid,n,len,a[...原创 2018-08-13 11:54:53 · 232 阅读 · 0 评论 -
[luogu1873] 砍树 {二分查找}
题目https://www.luogu.org/problemnew/show/P1873#sub解题思路二分砍树的高度,选取最少的符合条件的即可。代码var n,m,i,j,len,rig,mid:longint; a:array[1..1000000] of longint; q:int64;procedure dfs;begin while le...原创 2018-08-13 12:02:23 · 327 阅读 · 0 评论 -
[luogu1678] 烦恼的高考志愿{贪心+二分查找}
题目https://www.luogu.org/problemnew/show/P1678解题思路贪心的大致思想为:先将学校的录取分数线从低到高排一次,然后逐个读入学生分数,二分学生的分数应属于哪个档次,返回时需要注意一下k<a[i]k<a[i]k...原创 2018-08-13 15:11:29 · 348 阅读 · 0 评论 -
[luogu1182] 数列分段`Section II`{贪心+二分查找}
题目https://www.luogu.org/problemnew/show/P1182解题思路关键在于二分查找中的(cheakcheakcheak),每次可以假设分成ansansans段不超过kkk(二分的数)的段,然后直接判断ansansans与我们要求的mmm就可以了。代码#include<cstdio>#include<algorith...原创 2018-08-13 15:44:19 · 272 阅读 · 0 评论 -
[poj 2018]Best Cow Fences {二分查找+最大子段和问题}
题目http://poj.org/problem?id=2018解题思路二分答案,判定“是否存在一个长度不小于LLL的子段,平均数不小于二分的值”。如果把数列中的每个数都减去二分的值,就转化为判定“是否存在一个长度不小于“LLL”的子段,子段和非负”。代码#include<cstdio>#include<algorithm>using n...原创 2018-08-13 17:00:46 · 1032 阅读 · 0 评论 -
[jzoj 5771] 遨游 {嵌套二分+dfs}
文章目录题目DescriptionInputOutput解题思路代码题目DescriptionMWH寒假外出旅游,来到了S国。S国划分为N个省,第i个省有Ti座城市,编号分别为Ci1,Ci2,……CiTi(各省城市编号不会重复)。所有城市间有M条双向的道路连接,从任意一个城市出发,可到达一切城市,每条道路均须收费。此时恰逢春运期间,S国交通运输局采取了优惠措施。当一条路的路费在[L…R]区...原创 2018-09-22 16:52:31 · 233 阅读 · 0 评论 -
[洛谷 1314] 聪明的质监员 {二分+前缀和}
题目https://www.luogu.org/problemnew/show/P1314解题思路这道题一开始的时候,【我已经想到了二分,但是没有细想】先打暴力(WA),然后打了前缀和,一直都没有对,(后来才发现是我自己打错了前缀和)。思路很简单,二分W(W以:所有价值中的最小-1,最大的+2为边界(要不特判临界情况))然后对于每一次的查询,可以直接用前缀和。代码#include&...原创 2019-01-18 19:04:34 · 197 阅读 · 0 评论 -
【东莞市选2008】导弹 {二分答案+Floyd最短路+匈牙利二分图匹配}
题目题目描述给出一张无向的完全图(任意两点之间都有一条边的图)G=(V,E),它可以表示出某一块大陆的地图:每个顶点表示一座城市,每条边代表连接的两个城市间的距离,该大陆任两个城市都是直接连通的。另外在这个大陆上有两个特殊的国家,我们称为A国与B国,其中A国有N个城市,B国有M个城市。这里A国相对于B国来说是一个大国(我们有N&gt;=M),而且它最近发明了一种新型武器:响尾蛇导弹(A Cr...原创 2019-01-24 20:19:13 · 270 阅读 · 0 评论 -
[codev 2190]有理逼近//2018.1.31
题目题目描述 输入 输入文件的第一行为P、N,其中 P、N输出 输出文件只有一行,格式为“X/Y U/V”。注意,答案必须是既约的,也就是说分子、分母的最大公约数必须等于1。题目大意求X/Y小于sqrt(p)小于U/V。X、Y、U、V,分子、分母的最大公约数必须等于1(不能大于N)。解题思路 用二分查找,for找分母,二分找分子,再更新mi1,mi2原创 2018-01-31 20:12:51 · 371 阅读 · 0 评论