码迷,mamicode.com
首页 >  
搜索关键字:二分查找    ( 2961个结果
【不定期更新】noip复习(或许有误请指正)
一、基本算法2.二分查找void find(int l,int r){ if (l>r || a[l]>x || a[r]> 1; if (a[mid] == x){ if (mid a[mid]) find(mid+1, r); else find(l, mid-...
分类:其他好文   时间:2014-07-21 09:15:15    阅读次数:227
STL 源码剖析 算法 stl_algo.h -- equal_range
equal_range(应用于有序区间) -------------------------------------------------------------------------------------------------------------------------------------- 描述:利用二分查找找到一个区间,区间里的所有值都等于给定值,返回的是一个pair, 分别存储区间的上界迭代器和下界迭代器 源码: template <class ForwardIterator, c...
分类:其他好文   时间:2014-07-20 23:06:36    阅读次数:263
HDU 4417 Super Mario
题意: 有n个数字 m个查询 每个查询询问区间[l,r]内有几个数字小于h 思路: 由于n个数字是不变的 所以可以利用划分树在nlogn复杂度内求出任意区间的第k小值(这里指建树) 每次查询可以二分查找该区间第几小的数小于等于h 那么答案就是二分出的个数 总复杂度 nlogn + m(logn)^2 即 建树复杂度 + m次询问*每次查询logn*二分复杂度logn n和m都只有10^5 完全可过...
分类:其他好文   时间:2014-07-19 23:35:59    阅读次数:232
STL 源码剖析 算法 stl_algo.h -- lower_bound
lower_bound(应用于有序区间) -------------------------------------------------------------------------------------------------------------------------- 描述:二分查找,返回一个迭代器指向每一个"不小于 value "的元素, 或 value 应该存在的位置 思路: 1.循环直到区间长度为 0 2.如果 *middle < value,在后半段继续查找 3.如果 *mid...
分类:其他好文   时间:2014-07-19 23:30:41    阅读次数:382
Codeforces Round #256 (Div. 2) D. Multiplication Table(二分查找)
Codeforces Round #256 (Div. 2) D. Multiplication Table(二分查找)...
分类:其他好文   时间:2014-07-19 18:38:19    阅读次数:195
Codeforces Round #256 (Div. 2) 题解
Codeforces Round #256 (Div. 2) 题解...
分类:其他好文   时间:2014-07-19 02:33:15    阅读次数:287
CodeForces 425D Sereja and Squares
题意: 平面上有n个点 问 最多能组成多少个边与坐标轴平行的正方形 思路: 这是一个通过不断二分查找乱搞的题… 首先枚举左下角 然后分别往上往右找左上角和右下角 这时如果发现边长不想等就通过长边长度在短边的方向二分查找最接近的值 不停往上往右延伸 如果发现边长想等了 那么要判断一下对应的左上角坐标出是不是有一个点 怎么判断呢 通过将所有点hash出一个值 然后二分… 反正这题就是各种二分乱搞 - -b 复杂度不好算 大概是n*(同x的点数+同y的点数)...
分类:其他好文   时间:2014-07-18 13:37:03    阅读次数:326
qosrt函数及sort函数
想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~所以自己总结了一下,首先看sort函数见下表:函数名功能描述sort对给定区间所有元素进行排序stable_sort对给定区间所有元素进行稳定排序partial_sort对给定区间所有元...
分类:其他好文   时间:2014-07-18 10:38:04    阅读次数:342
20140717 二分查找
1、二分查找代码二分查找的代码. int bfind(int* a,int len,int val) { int m = len/2; int l = 0; int r = len; while(l!=m && r!= m) { if(...
分类:其他好文   时间:2014-07-18 00:01:25    阅读次数:213
uva10341 - solve it (二分查找)
题目:uva10341-solve it 题目大意:求解给定的方程式解题思路:因为这个方程式在给定的x的范围内是单调递减的,所以可以用二分查找来尝试x的值。这里的 x是要求保留4小数,所以当区间缩小到一定的范围,这时候就是x的解。无解的情况只可能出现在x范围的两端。 代码: #include #include #include double p, q, r, s, t...
分类:其他好文   时间:2014-07-17 20:22:14    阅读次数:277
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!