二分
玛珈山大萌新
破山中贼易,破心中贼难。不破不立,破而后立,立而为人。
展开
-
[01分数规划]Dropping tests POJ - 2976
题目:Dropping tests POJ - 2976 分析: 首先这题显然是兹磁二分的,而∑ai/∑bi≥x就等价于∑ai−x∑bi≥0。 所以我们发现二分完把ai-x*bi排序后把最大的n-k个选出来就行了。 代码: #include <bits/stdc++.h> using namespace std; typedef long long ll;//三年竞赛一场空,不开long long见祖宗 //typedef __int128 lll; #define print(i) cout原创 2021-02-15 17:11:34 · 122 阅读 · 0 评论 -
【LGR-081】洛谷 1 月月赛 & EZEC R5 Div.2
题目:P7287 「EZEC-5」魔法 分析: 做法一定是先多次整体加1,再多次整体x2。 考虑到2的次数是log级别的,可以先枚举2的次数,然后再二分+1的次数,然后二分的judge里面写个判断最大连续子段和。 代码: #include <bits/stdc++.h> using namespace std; typedef long long ll;//三年竞赛一场空,不开long long见祖宗 //typedef __int128 lll; #define print(i) cout &原创 2021-02-02 22:39:53 · 185 阅读 · 0 评论 -
二分搜索符合条件的最大最小值
当要求解的问题有多种解时,要求符合条件的最大/小的值,可以通过二分枚举解来解决(同时注意二分过程的判断和终值,可以作为模板背过) poj 2456 Aggressive cows | 求解符合条件值的最大值 题意: 给你n个坐标,求c个坐标中最小的最大距离。 分析: 注意while()循环的条件是l <= r, 最后结果是r。 同时判断函数可以通过贪心的思想写。 代码: #include <iostream> #include <algorithm> using namespa原创 2020-11-01 17:35:40 · 278 阅读 · 0 评论