二分
一些简单二分
lamentropetion
---
展开
-
【01分数规划】ABC324F
首先看到这个形式很容易想到 01 分数规划,即去二分答案,然后就是转化成 是否存在一个路径使得 sigma b - mid * sigma c >= 0。显然只需要改变一下边权,跑一遍最长路即可。原创 2023-12-14 01:30:10 · 495 阅读 · 0 评论 -
【二分图染色】ARC 165 C
首先考虑一条链的情况,注意到如果两条相邻的边加起来 < x,一定不行。不合法的情况是相邻的点相同颜色但是边权 < x。同时注意到 x 具有单调性,考虑对 x 二分。在check时进行二分图染色。这个结论推广到图也是一样的。原创 2023-09-26 01:40:00 · 312 阅读 · 0 评论 -
【枚举+贪心】CF1409 E
然后就能直接做了,枚举一个区间,然后找这个区间后缀的最大贡献的区间即可,所以需要维护一个后缀贡献的最大值。首先贪心的结论很明显,选两个贡献最大的区间。还有一个结论,这两个区间没有交点。原创 2023-09-23 01:06:47 · 257 阅读 · 0 评论 -
(典题)线段计数 CF690 div3 F
既然存在一条线段和其他所有线段相交,不知道是哪条线段,考虑枚举这条线段,然后计数没有交点的线段个数,取min。对于这个计数是个典,考虑将所有线段的端点扔进vec里,二分计算贡献即可。这题没什么性质可言,可以说就是纯纯的套路题。原创 2023-09-15 00:43:20 · 212 阅读 · 0 评论 -
【贪心+二分】CF1791G2
按贡献 min(ai + i, ai + n - i + 1) 排序之后,我们发现,第一个传送门是什么不确定。我就想到了这里,这里我直接猜测第一个传送门一定是ai + i最小的那个,但是这个结论是错的。那么就回溯一下思路,思考一下一般情形,我们只需要枚举这个位置,然后把传送点个数取最大即可。首先,模拟一下样例发现,第一次传送之后,每次传送的贡献都是独立的,每次的贡献都是。那么直接在排序后的数组上操作即可,看最多延伸到这个数组的哪个长度。注意到这个长度具有单调性,当长度足够长时,钱就不够,足够短时钱够。原创 2023-08-16 15:21:32 · 94 阅读 · 0 评论 -
【二分答案】CF803 D
考虑双指针,每次选长度为mid的区间,然后如果右端点 r 没有指向换行符,那么 r 指向左边离它最近的换行符。所以需要预处理一个位置左边离它最近的换行符的位置。那么在check里贪心,每行选的尽可能多。然后限制了最大宽度,要使行数 <= k。注意到宽度具有单调性,考虑二分宽度。原创 2023-08-14 14:13:16 · 70 阅读 · 0 评论 -
【二分+贪心】CF1622 C
考虑二分答案,我们去二分操作次数,那么问题就是,在操作mid次之内,能不能使它满足条件。首先,观察样例可知,肯定是把原本的最小值减到某个值,然后再复制几次。那把最小值减到哪个值是不确定的,考虑枚举这个值?一共有两种操作,他们分别占多少不确定,考虑枚举操作1的次数。注意二分的右边界,取pre[n] - k。复制的时候肯定是从大到小复制。原创 2023-08-12 11:20:53 · 203 阅读 · 0 评论 -
【二分+贪心】CF1665 C
我们可以结点按照兄弟的数量排序,然后优先感染兄弟多的结点.这样我们就知道了,第一秒被。个兄弟,所以我们扫描一遍就可以知道还剩下多少个兄弟结点还没被感染,判断能否用剩下的。但是可能会有别的分量更大(因为最后给最大的染色之后可能不再是最大的)一定用于优先感染兄弟结点比较多的结点,这样可以充分利用。只想到先感染大的分量,然后最后把最大的分量剩下的染色。可以用堆维护,但是这里用二分做法。的操作将这些结点感染即可.的结点剩下的时间里可以被。一开始想太简单wa6了。秒内能否感染所有结点.个兄弟,第二秒可以被。原创 2023-08-11 20:28:30 · 310 阅读 · 0 评论 -
【二分】CF1623 C
注意到我们不需要去管最大值,只需要最小值尽可能大就好了,因此倒着考虑,直接把大数减到mid大小,分给前面即可。注意在取d的时候要和原来的取min,我因为没看清题意调了一会,结果发现加了个min就过了。肯定是二分,我们去二分最小值,然后check的时候最小值要大于mid。check的时候要让最小值尽可能大。原创 2023-08-09 23:28:59 · 210 阅读 · 0 评论 -
【二分+滑动窗口优化DP】CF883 I
注意到分段DP的左端点 L 是在一个区间内的,那么我们就去维护这个区间,即滑动窗口优化DP。那么就相当于有了一个极差的限制,看能不能分组,每组至少m个元素。那么就是考虑分段DP,直接n^2很容易写。首先,要让最大值最小,很显然要二分。但是n原创 2023-08-02 20:48:51 · 182 阅读 · 0 评论 -
【二分答案】CF1661 C
在check的时候,我们要尽量用算贡献的思想,并且大胆贪心。原创 2023-07-25 00:49:05 · 132 阅读 · 0 评论 -
【二分+ST表】代码源每日一题div2 最长同余子数组
在check时,如果一个区间的gcd不为1,说明就是合法的,如果不存在这样的区间,那么就是不合法的。注意到,长度越长,越不能同余,因此我们去二分这个长度,然后去check。原创 2023-06-15 13:40:41 · 82 阅读 · 0 评论 -
【二分】代码源每日一题div2 三段式
有个细节就是,第三个指针一定要比第一个指针大至少2,不然三段中间那段就不见了,这个可以用全是0的特殊情况来考虑。注意到,如果能分成三段,那么第一个指针的前缀和一定是sum/3,第三个指针的后缀和一定是sum/3。因此可以把这些指针放到两个数组里,然后因为第三个指针一定要大于第一个指针,因此需要二分。显然,每一段的和是确定的,且如果sum不是3的倍数,就无解,输出0。可以发现很特殊的地方是,它只有三段,因此这个就是突破口。然后,问题就是,如何统计三段和为定值的方案数。其实就是统计前后指针个数。原创 2023-06-14 22:53:01 · 43 阅读 · 0 评论 -
【dfs序+二分】ABC202 E Count Descendants
先预处理出每个结点的入序和出序,对于每一次询问,查询在深度d的所有结点中dfs序在[In[u],Out[u]]之间的结点个数即可,所以我们需要预处理出对于每个深度,这个深度的所有结点的dfs序,把它们放进vector就好了。一开始的想法是,树形DP预处理出在子树u中,离结点u距离为j的结点个数,然后直接输出答案。原创 2023-06-06 20:49:17 · 91 阅读 · 0 评论 -
【01分数规划】小咪买东西
01分数规划问题的通解是二分。(大一写的代码QwQ)原创 2023-05-26 23:13:19 · 50 阅读 · 0 评论 -
【二分】Kevin喜欢零
然后答案区间就取max(l1,r1),max(r1,r2)即可。一个数末尾0的个数取决于min(cnt2,cnt5)的数量。注意,要二分的是合法区间的左边界和合法区间的右边界。这种二分方式很常见,务必掌握。考虑枚举l,然后二分r。原创 2023-05-26 22:04:58 · 107 阅读 · 3 评论 -
【反悔贪心+二分答案+枚举】Educational Codeforces Round 149 (Rated for Div. 2) F. Editorial for Two
那么,接下来就是看是否存在所有长度为K的子序列中分割成两部分的max(左,右)<=mid,即去看这个子序列的长度有没有K。给定一个长度为N的数列,问你所有长度为K的子序列中,将子序列分割成两部分,max(左半部分,右半部分)的最小值是多少。用堆预处理出前缀的子序列和后缀的子序列,然后枚举分割点就好了。最小化最大值,我们去二分这个最大值。关于子序列,这里用反悔贪心。原创 2023-05-26 18:47:59 · 86 阅读 · 0 评论 -
【LIS的nlogn做法】ABC134 E - Sequence Decomposing
Dilworth定理告诉我们答案就是最长非上升子序列长度。那就是反着用nlogn求最长上升子序列长度。让你求一个序列里上升子序列个数。原创 2023-05-25 14:54:21 · 63 阅读 · 0 评论 -
【双指针】ABC229 D - Longest X
因为一个合法的区间的.的个数必须<=k,因此直接考虑双指针即可。原创 2023-05-01 13:45:59 · 96 阅读 · 0 评论 -
【二分/双指针】ABC250 D - 250-like Number
枚举p的位置,双指针q的位置即可。原创 2023-04-13 11:33:23 · 82 阅读 · 0 评论 -
ABC247 E - Max Min
s b二分调 n m半天调不出来。原创 2023-04-12 11:15:54 · 53 阅读 · 0 评论 -
CF862 div2 C. Place for a Selfie
b^ 2 - 4ac < 0 即 k ^ 2 - 2bk + b ^ 2 - 4ac < 0,所以我们只要找到一个 k 满足上式就可以了,因为这是一个开口向上的二次函数,当 k 取对称轴的时候最小,也就是取 b 的时候,所以我们搞个set 然后二分就行了。如果二分出来的位置是pos,当且仅当pos>=1&&pos<=n时是合法的。有一些直线和抛物线,对于一个抛物线,输出一个直线使得抛物线和直线没有交点。注意判断lower_bound位置的合法性,wa就wa在这了。原创 2023-04-03 09:50:30 · 352 阅读 · 0 评论 -
【大整数筛】立方数
然后考虑被筛掉之后的n,剩下的质因子都是大于3e5的,所以质因子个数不含超过3个,所以如果还去计算贡献的话只有一种情况:p*p*p==n。考虑把3e5以下的质因子全部筛去,对于那些幂次>3且%3==0的,需要算贡献。因此二分把其立方根二分出来,如果存在立方根就算贡献,没有就不算。这道题首先看数据范围1e18。就算是质因子分解复杂度也不行。原创 2023-03-27 23:51:25 · 58 阅读 · 0 评论 -
【代码源每日一题div1 二分答案】质区间长度
二分答案原创 2023-03-08 16:44:47 · 65 阅读 · 0 评论 -
【篮球杯】二分 青蛙过河
二分原创 2023-03-01 23:38:13 · 127 阅读 · 0 评论 -
Acwing 蓝桥杯 第二章 二分与前缀和
二分+前缀和原创 2023-02-26 11:19:41 · 377 阅读 · 0 评论 -
【GCD可交性】CF731div3 F
gcd的可交性原创 2023-02-06 21:40:40 · 93 阅读 · 0 评论 -
二分中遇到的一些坑
二分原创 2022-12-16 21:27:20 · 58 阅读 · 0 评论 -
二分答案总结
二分总结原创 2022-12-16 00:21:24 · 183 阅读 · 0 评论 -
【二分答案+线性规划】装备合成
二分原创 2022-10-15 22:31:29 · 549 阅读 · 0 评论 -
【二分答案】 HDU 5248 序列变换
简单二分原创 2022-10-14 23:14:18 · 442 阅读 · 0 评论 -
2022河南萌新联赛第(七)场:南阳理工学院 H-防风台
模板题原创 2022-08-22 15:04:34 · 123 阅读 · 0 评论 -
Educational Codeforces Round 131 (Rated for Div. 2) C Schedule Management
经典二分原创 2022-07-31 00:33:42 · 87 阅读 · 0 评论