算法-二分
Maxwei_wzj
AFO
展开
-
【NOIP2011提高组T5】聪明的质监员-二分答案+前缀和
【NOIP2011提高组T5】聪明的质监员-二分答案+前缀和原创 2016-10-27 11:38:56 · 560 阅读 · 0 评论 -
【BZOJ3597】方伯伯运椰子(SCOI2014)-01分数规划+SPFA判负环
测试地址:方伯伯运椰子 做法:本题需要用到01分数规划+SPFA判负环。 我们先尝试找到另一种更好的描述压缩和扩容方案的方法,我们发现,实际上压缩就是在退流,扩容就是在增广,那么我们知道,要找到一种方法使得总流量不变,只需要沿着残余网络中的某一个环走就行了。因此一条反向边走一次需要花费a−da−da-d(即退流),一条正向边走一次需要花费b+db+db+d(即增广)。我们又发现,操作次数实际上...原创 2018-05-22 21:01:39 · 189 阅读 · 0 评论 -
【BZOJ2806】熟悉的文章(CTSC2012)-广义SAM+二分+DP+单调队列
测试地址:熟悉的文章 做法:本题需要用到广义SAM+二分+DP+单调队列。 首先,LLL的性质显然是单调的,所以我们二分LLL。接下来容易想到DP,令f(i)f(i)f(i)为以第iii个字符结尾的前缀最多能有多少个字符被符合条件的子串覆盖,容易得到状态转移方程: f(i)=max(f(i−1),f(i−k)+k)f(i)=max(f(i−1),f(i−k)+k)f(i)=\max(f(i-...原创 2018-05-27 15:55:34 · 231 阅读 · 0 评论 -
【BZOJ2654】Tree-WQS二分+最小生成树
测试地址:Tree 做法:本题需要用到WQS二分+最小生成树。 关于WQS二分(又称带权二分?)这个东西……说老实话,我自己不是很能从理性角度理解。我只能大概知道这个东西是应用在这样一种情况:要求求出限制某样东西出现次数为kkk次的最优解。我们可以用这样一种二分方法解决:为这样东西的出现附一个权值costcostcost,即每出现一次贡献就加costcostcost,二分这个costcostc...原创 2018-07-03 11:48:14 · 259 阅读 · 0 评论 -
【CF739E】Gosha is Hunting-期望DP+WQS二分
测试地址:Gosha is Hunting 题目大意:有nnn只精灵,有aaa个精灵球和bbb个大师球,用精灵球抓住精灵iii的概率为pipip_i,用大师球抓住精灵iii的概率为qiqiq_i,不能用两个或以上相同种类的球重复捕捉同一只精灵,问能捕捉到的精灵的最大期望数目。 做法:本题需要用到期望DP+WQS二分。 首先很快能想到一个DP:令f(i,a,b)f(i,a,b)f(i,a,b)...原创 2018-07-03 19:33:58 · 252 阅读 · 0 评论 -
【BZOJ5319】军训列队(JSOI2018)-主席树+二分
测试地址:军训列队 做法:本题需要用到主席树+二分。 首先可以证明,最好的匹配方法是,按照区间内权值顺序从小到大依次匹配[K,K+r−l][K,K+r−l][K,K+r-l]。证明如下: 假设区间内有两个数x<yx<yxi+1i+1i+1和iii,那么: 当x<y≤ix<y≤ixi+1≤x<yi+1≤x<yi+1\le xx≤i<i+1≤yx≤i&...原创 2018-08-16 21:23:32 · 260 阅读 · 0 评论 -
【BZOJ4293】Siano(PA2015)-线段树+二分
测试地址:Siano题目大意: 有nnn片草,第iii片草每天长高aia_iai米,mmm次操作,每次操作在第ddd天把所有草高于某个数bbb的部分割掉,求每次割下的草的高度和。做法: 本题需要用到线段树+二分。挺神的一道题…注意到每次割草,被割的草都不一定是一个区间,很难处理,因此想到通过某种办法把每次操作的修改变成一个区间。观察发现,在任何时刻,aia_iai大的草的高度一定不会比...原创 2018-09-28 19:58:28 · 343 阅读 · 0 评论 -
【BZOJ2653】middle-二分答案+主席树
测试地址:middle做法: 本题需要用到二分答案+主席树。神仙题。很久以前Mychael大佬称这题和TJOI那个排序差不多,于是二分答案那一步想得特别顺畅,结果却卡在简单主席树…菜爆,估计退役稳了。首先看到这个题和数的大小有很大关联,想到二分答案,那么现在要解决的问题就是,如何判断最大的中位数和midmidmid的大小关系?我们发现,若存在一个满足题目要求的区间,使得区间中≥mid\ge...原创 2018-10-18 15:05:25 · 234 阅读 · 0 评论 -
【LuoguP4926】倍杀测量者(LGR-053)-二分答案+差分约束+判正环
测试地址:倍杀测量者做法: 本题需要用到二分答案+差分约束+判正环。对于第一种flag,用不等式表示:如果满足xA≥(k−T)xBx_A\ge (k-T)x_BxA≥(k−T)xB就不用女装;对于第二种flag,用不等式表示:如果满足xA(k+T)&amp;amp;gt;xBx_A(k+T)&amp;amp;gt; x_BxA(k+T)&amp;gt;xB就不用女装。显然我们可以二分TTT(因为显然TTT越大...原创 2018-10-19 08:54:43 · 280 阅读 · 0 评论 -
【BZOJ5343】混合果汁(CTSC2018)-二分答案+主席树
测试地址:混合果汁 做法:本题需要用到二分答案+主席树。 注意到,如果一个最小美味度为ddd的混合果汁可以配出,那么最小美味度<d<dddd,问题转化成判定性问题。 判定的话也很简单,容易想到贪心选取最便宜的LLL升果汁,然后看它们的总价值,如果不超过GGG,就代表可以配出,否则就不能配出。那么我们可以按果汁的价值建线段树,每个区间维护区间内所有果汁的体积和与它们的价值总和,那么...原创 2018-05-21 10:09:32 · 346 阅读 · 0 评论 -
【BZOJ4556】字符串(TJOI&HEOI2016)-后缀数组+二分+RMQ+主席树
测试地址:字符串 做法:本题需要用到后缀数组+二分+RMQ+主席树。 注意到要求s(a,b)s(a,b)s(a,b)的每个子串和s(c,d)s(c,d)s(c,d)的LCP最大值,其实就是求s(a,b)s(a,b)s(a,b)的每个后缀和s(c,d)s(c,d)s(c,d)的LCP最大值。要求LCP我们通常要先对字符串求出后缀数组,然后在heightheightheight上做RMQ,可以做到...原创 2018-05-14 16:51:28 · 242 阅读 · 0 评论 -
【BZOJ3533】向量集(SDOI2014)-线段树+凸壳+二分
测试地址:向量集 做法:本题需要用到线段树+凸包+二分。 令询问的向量为(a,b)(a,b)(a,b),序列中第iii个向量为(xi,yi)(xi,yi)(x_i,y_i),那么要求l≤i≤rl≤i≤rl\le i\le r时,axi+byiaxi+byiax_i+by_i的最大值,令这个式子为kkk,则有: yi=−abxi+kbyi=−abxi+kby_i=-\frac{a}{b}x_i...原创 2018-05-20 12:28:16 · 395 阅读 · 0 评论 -
【POJ1743】Musical Theme-后缀数组+二分答案
【POJ1743】Musical Theme-后缀数组+二分答案原创 2017-03-28 18:34:14 · 445 阅读 · 0 评论 -
【POJ3261】Milk Patterns-后缀数组+二分答案
【POJ3261】Milk Patterns-后缀数组+二分答案原创 2017-03-29 20:56:52 · 344 阅读 · 0 评论 -
【BZOJ3993】星际战争(SDOI2015)-二分答案+最大流
【BZOJ3993】星际战争(SDOI2015)-二分答案+最大流原创 2017-03-23 18:37:12 · 495 阅读 · 0 评论 -
【BZOJ2440】完全平方数(中山市选2011)-二分答案+莫比乌斯函数应用
【BZOJ2440】完全平方数(中山市选2011)-二分答案+莫比乌斯函数应用原创 2017-05-27 17:58:34 · 480 阅读 · 0 评论 -
【HDU3622】Bomb Game-二分答案+2-SAT
【HDU3622】Bomb Game-二分答案+2-SAT原创 2017-08-01 19:46:58 · 579 阅读 · 0 评论 -
【HDU3681】Prison Break-状态压缩DP+BFS+二分答案
【HDU3681】Prison Break-状态压缩DP+BFS+二分答案原创 2017-09-14 22:30:40 · 403 阅读 · 0 评论 -
【HDU3586】Information Disturbing-二分答案+树形DP
【HDU3586】Information Disturbing-二分答案+树形DP原创 2017-09-21 22:24:21 · 283 阅读 · 0 评论 -
【POJ2728】Desert King-最优比率生成树
【POJ2728】Desert King-最优比率生成树原创 2017-10-12 22:12:51 · 306 阅读 · 0 评论 -
【NOIP2017普及组T4】跳房子-二分答案+DP单调队列优化
【NOIP2017普及组T4】跳房子-二分答案+DP单调队列优化原创 2017-12-06 21:25:29 · 1562 阅读 · 0 评论 -
【POJ3525】Most Distant Point from the Sea-半平面交+二分答案
测试地址:Most Distant Point from the Sea 题目大意:给定一个凸多边形,求凸多边形内某点到各边的最小距离的最大值。 做法:本题需要用到半平面交+二分答案。 首先答案显然具有单调性,所以我们二分答案,转化成判定性问题。 考虑答案ddd,我们只要将构成原凸多边形的半平面都向内缩ddd个单位长度,然后判定半平面交存不存在即可。因为不用排序,所以时间复杂度为O(n)O...原创 2018-02-27 23:23:09 · 272 阅读 · 0 评论 -
【BZOJ4819】新生舞会(SDOI2017)-01分数规划+费用流
测试地址:新生舞会 做法:本题需要用到01分数规划+费用流。 首先看到题目中那个式子,就差不多能想到01分数规划了。按照套路处理:二分比值CCC,转化为判定性问题,即存不存在大于CCC的比值,把分母乘到另一边,再减回来,得到∑Ai−C⋅Bi&gt;0∑Ai−C⋅Bi&gt;0\sum A_i-C\cdot B_i>0这个式子,在这道题中,就是按边权为Aij−C⋅BijAij−C⋅BijA_{i...原创 2018-04-10 15:36:40 · 261 阅读 · 0 评论 -
【POJ3155】Hard Life-01分数规划+最小割
测试地址:Hard Life 题目大意:有一个无向图,要从里面选出一个子图,使得边数和点数的比最大,输出一个合法方案。 做法:本题需要用到01分数规划+最小割。 首先要求比值最大,我们立刻想到01分数规划的套路,二分比值,这样就变成判定性问题:存不存在一个子图使得|E|−k|V|>0|E|−k|V|>0|E|-k|V|>0。 怎么样选出一个合法的子图?注意到,如果我们选了一条边...原创 2018-04-24 10:48:38 · 431 阅读 · 2 评论 -
【BZOJ4552】排序(TJOI&HEOI2016)-二分答案+线段树
测试地址:排序 做法:本题需要用到二分答案+线段树。 看到在序列上做一些花里胡哨的操作,我们就想到用线段树,但是……这种操作好像根本做不了啊…… 这时我们发现了此题的一个重要条件:询问只有一次,并且在所有修改操作之后。也就是说,我们也许可以找到一个方法进行离线询问。 这时候我们要转化问题。考虑最后的序列,我们把整个序列看做是按照数字从大到小一个一个插入到对应位置中去的,那么我们要求的位置上...原创 2018-05-02 20:01:09 · 176 阅读 · 0 评论 -
【BZOJ4753】最佳团体(JSOI2016)-01分数规划+树形DP
测试地址:最佳团体 做法:本题需要用到01分数规划+树形DP。 首先看到比值,想到01分数规划,按照套路移项后,我们发现这就是一个点权为p−ksp−ksp-ks(kkk为二分的比值)的一个树上背包,直接做就行了,时间复杂度是O(n2logans)O(n2logans)O(n^2\log ans)。 话说我居然忘了树上背包复杂度O(n2)O(n2)O(n^2)的证明……这里简单写一下。我们每...原创 2018-04-25 20:59:57 · 241 阅读 · 0 评论 -
【BZOJ2756】奇怪的游戏(SCOI2012)-分类讨论+二分+最大流
测试地址:奇怪的游戏 做法:本题需要用到分类讨论+二分+最大流。 首先看到棋盘,先黑白染色,然后我们发现每次操作两个相邻的格子一定是不同色的,意味着黑白格子得到增加的权值和是一样的。那么令xxx为最后得到的数字,num0/1,sum0/1num0/1,sum0/1num_{0/1},sum_{0/1}为黑/白色格子的数量和权值和,有: num0x−sum0=num1x−sum1num0x−s...原创 2018-04-26 17:32:42 · 193 阅读 · 0 评论 -
【BZOJ2095】Bridges(POI2010)-欧拉回路+二分+最大流
测试地址:Bridges 做法:本题需要用到欧拉回路+二分+最大流。 首先回顾欧拉回路的定义:经过图中一条边一次且仅一次的回路。那么如果原图不是欧拉图(即存在度数为奇数的点),则显然不存在这样的回路,否则因为要求最大值最小,我们二分最大的边权xxx,将问题转化为判定性问题。 那么我们现在就要判定,如果只能走风力不超过xxx的边,能不能走出一条欧拉回路。我们知道要走成一个欧拉回路,就是给每条边...原创 2018-04-26 20:05:13 · 221 阅读 · 0 评论