二分|三分
inklutcuah
这个作者很懒,什么都没留下…
展开
-
【bzoj1305】【CQOI2009】【dance】【跳舞】
题目大意有n个男孩和n个女孩,男女间要么互相喜欢要么不喜欢,跳一次舞每个人和没跳过的喜欢的跳或和最多k个不喜欢的跳。求最多跳几次。解题思路有一个直观的贪心,最大的答案为每个人喜欢的人数取最小值后加k,但我们能不能保证有合法解呢,反正bzoj上能过,但某个oj上不能过。于是就打了网络流,先二分一个答案,每个人拆成两个点(和喜欢的人跳与和不喜欢的人跳),源到和喜欢的人跳流量为ans,和喜欢的人跳到和不喜原创 2016-09-06 15:34:32 · 301 阅读 · 0 评论 -
【jzoj4896】【兔子】【二分答案】
题目大意在一片草原上有N个兔子窝,每个窝里住着一只兔子,有M条路径连接这些窝。更特殊地是,至多只有一个兔子窝有3条或更多的路径与它相连,其它的兔子窝只有1条或2条路径与其相连。换句话讲,这些兔子窝之前的路径构成一张N个点、M条边的无向连通图,而度数大于2的点至多有1个。兔子们决定把其中K个兔子窝扩建成临时避难所。当危险来临时,每只兔子均会同时前往距离它最近的避难所躲避,路程中花费的时间在数值上等于经原创 2016-11-15 22:41:49 · 851 阅读 · 0 评论 -
【jzoj4920】【降雷皇】【动态规划】【二分答案】【数据结构】
题目大意求一个序列的最长上升子序列及方案数。解题思路首先维护一个数组,t[i]表示长度为i的最长上升子序列末尾最小是多少,这样就可以求出第一个答案。每个长度再用权值线段树维护每个末尾的方案数,转移方案数时求一下比它小的末尾方案数之和。code#include<cmath>#include<cstdio>#include<algorithm>#define LL long long#defin原创 2016-12-10 15:15:35 · 431 阅读 · 0 评论 -
【jzoj4932】【贪心】【二分答案】
题目大意现在你有N个数,分别为A1,A2,…,AN,现在有M组询问需要你回答。每个询问将会给你一个L和R(L<=R),保证Max{Ai}-Min{Ai}<=R-L,你需要找出并输出最小的K(1<=K<=N,不存在输出-1)满足以下两个条件:①能够在原来的N个数中选出不重复(下标不重复)的K个数,使得这K个数的和在区间[L,R]内。②能够在原来的N个数中选出不重复(下标不重复)的K个数,使得这K个数的原创 2016-12-28 22:42:31 · 396 阅读 · 0 评论 -
【jzoj3918】【TC Srm 636 Div2 1000pt】【蛋糕】【二分答案】
题目大意今天是Bessie的生日,他买了一个蛋糕和朋友们一起分享,蛋糕可以看成是一个R行C列的表格,共有R*C个格子,每个格子都有一个0至9的数字,表示该格子蛋糕拥有的巧克力。现在Bessie要把蛋糕横的切3刀再竖的切3刀,由于Bessie刀法厉害,所以每个格子蛋糕都是完整的,显然蛋糕会被切成16份,然后Bessie和他的15个朋友们每人拿一份,Bessie比较客气,总是等其他朋友拿完了,Bessi原创 2017-01-22 16:25:47 · 801 阅读 · 0 评论 -
【bzoj4552】【Tjoi2016】【Heoi2016】【排序】【二分答案】【线段树】
题目大意给出长度为n的序列,有m个排序操作,对一个区间升序或降序排序,求操作完某一位的值。题解一个非常不显然的性质,本题满足二分性质。二分一个答案,如果原数大于或等于答案就标记为1,不然标记为0。排序完可以知道目标位到底是大于等于还是小于答案,适当调整答案即可。code#include<set>#include<cmath>#include<cstdio>#include<cstring>#原创 2016-07-12 16:31:12 · 494 阅读 · 0 评论 -
【SCOI2010】【传送带】【三分答案】
题目大意平面上有两条传送带,在上面行走有一定的速度,在平面其他地方行走有一定速度,求从一条传送带一端走到另一条一端的时间。解题思路显然在两条传送带都走一段后走平面,当一个转折点确定后,距离就是一个单峰函数,可以用三分解决,总的就是三分套三分。由于数据较小精度要求较小,可以暴力一个转折点再三分。code//#include<set>#include<cmath>#include<cstdio>#原创 2016-08-17 21:52:33 · 448 阅读 · 0 评论 -
【51nod1105】【第K大的数】【二分答案】
题目大意数组A和数组B,里面都有n个整数。数组C共有n^2个整数,分别是A[0] * B[0],A[0] * B[1] ……A[1] * B[0],A[1] * B[1]……A[n - 1] * B[n - 1](数组A同数组B的组合)。求数组C中第K大的数。例如:A:1 2 3,B:2 3 4。A与B组合成的C包括2 3 4 4 6 8 6 9 12共9个数。解题思路排序后二分答案,由于数的单调性原创 2016-12-01 18:48:49 · 624 阅读 · 0 评论 -
【jzoj4826】【小澳的葫芦】【二分答案】
题目大意葫芦世界有n个葫芦,标号为1~ n。n个葫芦由m条藤连接,每条藤连接了两个葫芦,这些藤构成了一张有向无环图。小澳爬过每条藤都会消耗一定的能量。小澳站在1号葫芦上(你可以认为葫芦非常大,可以承受小澳的体重),他想沿着藤爬到n号葫芦上,其中每个葫芦只经过一次。小澳找到一条路径,使得消耗的能量与经过的葫芦数的比值最小。解题思路二分答案,将每一条边都减去二分的答案,求1到n的最短路,如果最短路小于0原创 2016-12-10 13:51:07 · 641 阅读 · 0 评论 -
【bzoj1196】【HNOI2006】【公路修建问题】【并查集】
题目大意有一些可修路点对,可修一级或二级公路使图连通且最少有k条一级公路,使最大的公路费用最小。解题思路可以发现求最大值最小用二分答案,可以用并查集维护当前连通块,首先能建一级公路要先建(满足一级公路的限制),再建二级公路,再看看是否能是整个图连通,直到找到最优答案。code#include<set>#include<cmath>#include<cstdio>#include<cstring原创 2016-08-17 20:39:55 · 631 阅读 · 0 评论 -
【jzoj4869】【平均数】
题目大意解题思路二分答案,求和小于等于零的区间个数,等于求前缀和的逆序对个数,可以排序离散化后用树状数组做,然而这回被卡常,还是乖乖归并。code#include<set>#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define LL long long#de原创 2016-11-07 21:44:09 · 295 阅读 · 0 评论 -
【jzoj4783】【Osu】
题目大意给出一些按顺序出现的点(x,y)和出现时间,问经过k个点所需要的最小速度,初始在(0,0)速度要保留根号。解题思路答案可能值有n^2个(两两点对),二分答案后n^2dp判断即可。code#include<set>#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>#define LF double#原创 2016-09-23 20:56:51 · 443 阅读 · 0 评论 -
【jzoj4790】【选数问题】
题目大意有N个数,以及一个R*C的矩阵。现在他的任务是从N个数中取出R*C个,并填入这个矩阵中。矩阵每一行的法值为本行最大值与最小值的差,而整个矩阵的法值为每一行的法值的最大值。求矩阵的最小法值是多少。解题思路显然不可能将一段紧挨着的数拆开,排序后二分答案,发现可以贪心地尽量往前取。找到一个区间,不够大但能增大的增大,否则把第一个退出来继续取,判断够不够区间数即可。code#include<set>原创 2016-09-22 17:29:25 · 541 阅读 · 0 评论 -
【jzoj5247】【NOIP2017提高A组模拟8.10】【计算几何】【二分答案】
题目大意解题思路对点排序后显然满足二分性,手推一下就可判断是否相交。code#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#define LF double#define LL long long#define ULL unsigned int#define fo(i,j,k) for(int i=原创 2017-08-10 16:11:42 · 559 阅读 · 0 评论