二分
文章平均质量分 68
二分
陌上花开 ~
越努力,越幸运(研究生在读)
展开
-
Pursuit - Cf733 - C(二分)
C. Pursuit 思路: 把两个人A,B的得分排序求前缀和,然后二分,二分的变量是额外打的场数k,将它和已经打的场数m比较,如果m<=km <= km<=k,自己一定都是满分,不然就是k场满分和取前m-k大的分数即可,Ilya只能小不能大,之后的直接补0即可 代码: #include <bits/stdc++.h> typedef long long ll; using namespace std; int main() { ios::sync_with_stdio原创 2021-08-21 21:41:35 · 121 阅读 · 0 评论 -
An Easy Problem(二分,堆)
An Easy Problem 题意: 给你n∗mn*mn∗m的矩阵点阵(有n∗mn*mn∗m个点),让你找与原点围成面积的第k大值 思路: 二分: 二分我们想要的第k大值,如果这个面积不够大,也就是能围成这个面积的点少于k个,那么扩大这个面积,让l=mid+1,否则,就缩小面积,让r=mid,check函数就扫一遍每一行,看每一行有多少点满足就好了,复杂度为:nlog(nm)nlog(nm)nlog(nm) 代码: #include <bits/stdc++.h> #define debug(原创 2021-08-12 00:57:22 · 182 阅读 · 0 评论 -
二分,01分数规划,三分
二分法很优秀: 比如在一组int类型的递增数中最多查找31次即可找到目标数的位置(int最大为231−12^{31}-1231−1) STL二分: binary_search(arr[],arr[]+size , index):返回bool值,是否存在 lower_bound(arr[],arr[]+size , index):返回可插入的最小位置的迭代器,即返回第一个符合条件的元素位置(lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于原创 2020-06-10 23:14:34 · 304 阅读 · 0 评论