二分
Healer66
他是谁啊?他究竟是什么身份啊?
展开
-
hdu 5884 Sort (队列&&二分)
题意:n个有序序列的归并排序。每次可以选择不超过k个序列进行合并,合并代价为这些序列的长度和.总的合并代价不能超过T, 问k最小是多少思路:二分k,判断是否成立。每次要合并k个,但未必会恰好每次都合并k个。所以呢为了代价最小,先合并多余的那几个最小的。(n-1)%(k-1)== 0 是恰好合并k次的判断条件,为什么呢?因为合并k个,相当于从n中减去了k-1,n最终应该多出一个,...原创 2018-09-29 21:10:54 · 176 阅读 · 0 评论 -
HDU - 6231 - K-th Number (尺举法&&二分)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=6231题意:给出一个序列,求出所有序列中的第k大数,然后输出所有第k大数中的第m大数。思路:用尺取求出区间第k大数大于等于x的这样的区间有多少个,然后根据这个进行二分求出准确的第M大数,时间复杂度O(n*log n)。看了个相对不错的博客:所求的一定是a数组中的原素,这点毋庸置疑...原创 2018-09-13 08:36:04 · 258 阅读 · 0 评论 -
2016 ACM-ICPC Asia China-Final D - Ice Cream Tower(二分&贪心)
链接:https://odzkskevi.qnssl.com/e4ddab4bbddb4d48602cd7ef31d6c6fa?v=1538214057题意:给n个冰淇淋球,告诉每个冰淇淋球的体积,可以将若干个冰淇淋球堆成一个塔,需要满足的条件是当前冰淇淋球的体积至少是在它上面的那个球的体积的两倍,一个塔至少有k层,即一个塔至少由k个冰淇淋组成,问最多可以堆成多少个塔。思路:二...原创 2018-10-06 16:48:35 · 253 阅读 · 0 评论 -
Gym - 101670B - Pond Cascade (二分答案)
链接:https://vj.e949.cn/889526602f1f7ab5e44d789392754748?v=1539700751题意:水池按从高到低分别给出容量,同时注水,满了可以往下溢出,问全部水池都满的时间和最低水池满的时间是多少。思路:二分时间,对于每个时间,判断是否满。代码:(一定要用scanf啊!!!!!!!)#include <bits/std...原创 2018-10-22 09:45:10 · 208 阅读 · 0 评论 -
UVALive - 8292 - Best Rational Approximation (二分)
//从最大最小开始二分,直到分母超m,取两边较小#include <bits/stdc++.h>using namespace std;int main(){ double p; int t,k,m; cin>>t; while(t--) { cin>>k >>m>>p;...原创 2019-02-06 21:38:31 · 213 阅读 · 0 评论 -
Gym - 101170F - Free Weights (二分)
思路:二分重量,判断删除后大于重量的哑铃是否相等#include <bits/stdc++.h>using namespace std;int n;const int maxn = 1e6 +10;set<int> se;int a[maxn];int b[maxn];vector<int>v;bool check(int id){...原创 2019-07-31 15:42:27 · 200 阅读 · 0 评论