
二分
CoderCat.
大
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Kattis speed 二分答案
题目大意:速度表有误差C,速度表测的速度是S,而真正的速度是S + C。现在走了n(1<=n<=1000)段路程,总时间是t(1<=t<=1e6),每段路程的距离是di, 测得的速度是si,求误差C。 二分答案:∑di/(C+si)=t 二分C即可 #include <cstdio> using namespace std; const int N = 1...原创 2018-07-24 20:49:26 · 431 阅读 · 0 评论 -
CodeForces - 1007A_Reorder the Array 模拟+二分查找
题目大意:给定一个包含n个整数的数组a[],将该数组重排列,若对应位置上的数比原数组的大则++cnt,求最大的cnt; (1)将a[]按不降序排序。vector < int > v;初始化为a[2~n]; (2)如果v的队尾元素<=a[i],则不可能给相应的位置匹配一个大于a[i]的数了。输出cnt并且结束程序。 (3)二分查找v中第一个大于a[i]的位置,如果该位置为v的...原创 2018-08-04 17:44:49 · 239 阅读 · 0 评论 -
poj2785 二分查找
题目大意:给定n行数(n&lt;=4000),每行4个数。从这4列中,每列选择一个数使其和为0 暴力枚举 O(n^4)会tle。 优化:枚举第1,2列算出总和s1[],枚举第3,4列算出总和s2[]。然后枚举s1[],在s2[]中二分查找等于-s1[]的数即可 O(n^2log(n^2)) 第一次WA:没有认识到,s2[]数组中有相同的数找到一个就++ans。 正解:在s2[]中找到第一个...原创 2018-08-12 16:29:46 · 444 阅读 · 0 评论