![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分
Michael_GLF
AFOing
展开
-
Codechef Favourite Numbers(数位DP+AC自动机+二分)
传送门【题目分析】第一次知道数位DP可以和AC自动机套起来用。。。Orz二分是很明显的,可以先计算L前的数量+k再二分,这样不用考虑下界(但我写的是考虑下界,所以跑一次就完了)。然后就是考虑如何统计是否有子串出现,这个地方显然不能强行枚举,但这个问题其实就是询问文本串是否在当前串中出现过,赤裸裸的AC自动机,转移的时候直接在AC自动机上判下一位是否有结束标记即可。【代码~】...原创 2019-02-16 12:03:15 · 429 阅读 · 0 评论 -
NOIP模拟 矩阵分组(二分答案)
【题目描述】有N行M列的矩阵,每个格子中有一个数字,现在需要你将格子的数字分为A,B两部分要求:1、每个数字恰好属于两部分的其中一个部分2、每个部分内部方块之间,可以上下左右相互到达,且每个内部方块之间可以相互到达,且最多拐一次弯如:其中(1)(2)是不允许的分法,(3)是允许的分法。在(2)中,a属于A区域,这两个a元素之间互相到达,但是不满足只拐一次弯到达。问:...原创 2018-10-03 16:15:54 · 400 阅读 · 0 评论 -
NOIP模拟 阶乘(质因数分解+二分答案)
【题目描述】有n个正整数a[i],设它们乘积为p,你可以给p乘上一个正整数q,使p*q刚好为正整数m的阶乘,求m的最小值。【输入格式】共两行。第一行一个正整数n。第二行n个正整数a[i]。【输出格式】共一行一个正整数m。【样例输入】16【样例输出】3【备注】对于10%的数据,n<=10对于30%的数据,n<=1000对...原创 2018-10-05 13:31:08 · 434 阅读 · 0 评论 -
POJ2110 Moutain Walking(BFS+二分答案)
传送门啦啦啦【题目分析】要让路径上最大最小差最小(绕口令~),很明显,二分答案即可。关键在于check函数怎么写:首先我们确定上下界,但如果我们去二分差值,好像没有办法在短时间内检验,所以我们去二分这个上界,枚举下界,再带入图中检验。我们发现最大的高度也不会超过110,所以我们可以枚举,而且不会爆。路径搜索与普通的一样,我采用了bfs,走之前要判断一下map[1][1]是否在上...原创 2018-10-18 08:56:26 · 135 阅读 · 0 评论 -
NOIP模拟 小C的数组(二分答案+DP验证)
qwq【题目分析】qwq考完发现做法已经接近了。。。。。DP太差了(考场还想区间DP。。。蓝瘦)首先求最大值最小,方法很明显就是二分,然后考虑check函数。很明显的一点,对于两点i,j,如果不需要修改,那么他们的计算结果一定小于等于二分值mid*(j-i),所以我们从最坏情况开始向前枚举。那么最坏情况就是修改所有点,我们记录dp[i]表示前i个全部修改,后i+1~n的点合法最小代...原创 2018-10-24 16:13:01 · 166 阅读 · 0 评论 -
POI2010 Mos-Bridges(二分答案+欧拉回路+网络流)
【题目描述】YYD 为了减肥,他来到了瘦海,这是一个巨大的海,海中有 n nn 个小岛,小岛之间有 m mm 座桥连接,两个小岛之间不会有两座桥,并且从一个小岛可以到另外任意一个小岛。现在 YYD 想骑单车从小岛 1 11 出发,骑过每一座桥,到达每一个小岛,然后回到小岛 1 11。霸中同学为了让 YYD 减肥成功,召唤了大风,由于是海上,风变得十分大,经过每一座桥都有不可避免的风阻碍 YYD...原创 2018-11-07 08:23:22 · 388 阅读 · 0 评论 -
洛谷2839 【国家集训队】middle(主席树+二分)
传送门【题目分析】氵谷第二道黑题唉qwq思想很巧妙,对于一个数x,将区间[l,r]中比他大的数赋为1,比他小的数赋为-1,那么判断一个数是否大于等于中位数就等价于了区间和是否大于等于0。所以这个性质就可以应用到二分答案上,每次check(mid)的时候直接判区间和是否大于等于0。然后考虑如何维护这个区间和,首先发现可以将所有的1和-1的主席树建出来,因为后一个主席树只会在前一个...原创 2019-01-24 11:06:07 · 190 阅读 · 0 评论 -
洛谷3425 【POI2005】KOS-Dicing(最大流+二分)
传送门【题目分析】真的跪了qwq。。。为什么数组开小他竟然TLE。。。。我还以为是代码问题呢结果。。。。(很脏的话)既然题目都要求你去找最多的最少,那肯定是二分答案了。关键在于怎么进行check。假设我们现在二分出一个x表示赢的最多的赢了x次,那么我们像所有玩家连一条容量为x的边对赢的次数的限制,每场比赛的两个人向这场比赛连容量为1的边,比赛向汇点连容量为1的边,这样就限制了一...原创 2019-01-26 16:02:36 · 242 阅读 · 0 评论 -
BZOJ2654 tree(二分+最小生成树)
传送门【题目分析】总感觉题目似曾相识的样子qwq。其实二分的思路还是很好想的,初始状态无非就是在生成树中的白边的数量>需要的数量和<需要的数量,前者需要减少白边数量加黑边,后者相反。减少白边相当于将白边的权值整体加一个值,增加就相当于减少一个值,就这样做最小生成树,最后因为恰好是need条白边所以权值一定就是(生成树权值-need*整体加的值)【代码~】#in...原创 2019-02-01 20:10:36 · 243 阅读 · 0 评论 -
【NOIP2018DAY1T3】【洛谷5021】 赛道修建(二分+贪心)
洛谷传送门【题目分析】感叹自己当年为何连二分都能打挂。。。首先最短路径最长,很容易想到二分,关键就是check的写法。正解是有点神仙的贪心,用dp[u]表示u的子树内未被选择的最大路径的长度,对于子节点v,如果满足dp[v]+w[u,v]>=mid cnt就加1,否则压入multiset中作为待选择路径。将未选择的路径排序,然后就是lowerbound找mid-len即可...原创 2019-09-14 09:57:17 · 197 阅读 · 0 评论