码迷,mamicode.com
首页 >  
搜索关键字:二分查找    ( 2961个结果
LA 2678 Subsequence
有一个正整数序列,求最短的子序列使得其和大于等于S,并输出最短的长度。用数组b[i]存放序列的前i项和,所以b[i]是递增的。遍历终点j,然后在区间[0, j)里二分查找满足b[j]-b[i]≥S的最大的i,时间复杂度为O(nlongn)。这里二分查找用到库函数lower_bound() 1 //#...
分类:其他好文   时间:2014-08-02 23:20:54    阅读次数:269
[leetcode]二分查找总结
Search for a Range1.最简单的想法,用最普通的二分查找,找到target,然后向左右扩张,大量的重复的target,就会出现O(n)效率。 class Solution { public int[] searchRange(int[] A, int target) { ...
分类:其他好文   时间:2014-08-02 15:12:14    阅读次数:270
POJ3189_Steady Cow Assignment(二分图多重匹配/网络流)
解题报告 题目传送门 题意: B个猪圈,N头猪,每头猪对每个猪圈有一个满意值,要求安排这些猪使得最大满意和最小满意的猪差值最小 思路: 二分图的多重匹配问题; 猪圈和源点连边,容量为猪圈容量,猪与汇点连边,容量1; 猪圈和猪之间连线取决所取的满意值范围; 二分查找满意值最小差值的范围。 #include #include #include #include #define...
分类:其他好文   时间:2014-08-01 19:45:22    阅读次数:317
二分查找收集
二分查找有很多种写法…对不同的功能也有不同的写法,比如找最左边的相等的数、小于它的最大的数、大于它的最小的数等等……我写的时候总是特别蛋疼。于是来收集一下,以后要用二分查找的时候,新的写法我就拿来放在这里。在升序中找比a[i]大的第一个(比a[i]大的最小的一个)(数据要保证必有比a[i]大的,不然...
分类:其他好文   时间:2014-08-01 19:11:22    阅读次数:185
POJ2002 二分查找&哈希
问题重述:给定整数n,以及n个点的坐标xi, yi。求这n个点可以组成的正方形的数目(每个点可重复使用)。分析:根据正方形的性质,给定两个点就能确定可能构成的两个正方形的另外两个顶点。因此,只需要遍历所有点中的两个顶点,计算出可构成正方形的另外两个顶点的坐标,再在已知点中查找这两个点是否存在即可算出...
分类:其他好文   时间:2014-08-01 18:54:22    阅读次数:198
poj 2318 TOYS & poj 2398 Toy Storage (叉积)
链接:poj 2318 题意:有一个矩形盒子,盒子里有一些木块线段,并且这些线段坐标是按照顺序给出的, 有n条线段,把盒子分层了n+1个区域,然后有m个玩具,这m个玩具的坐标是已知的,问最后每个区域有多少个玩具 分析:从左往右,直到判断玩具是否在线段的逆时针方向为止,这个就需要用到叉积,当然可以用二分查找优化。 叉积:已知向量a(x1,y1),向量b(x2,y2),axb=x1*y2-...
分类:其他好文   时间:2014-08-01 10:58:32    阅读次数:167
二分查找
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。 假设其数组长度为n,其算法复杂度为o(log(n)) 代码: #include using namespace std; bool BinarySearch(int data[],int start, int end, int number){ while(start...
分类:其他好文   时间:2014-08-01 09:14:51    阅读次数:228
动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有
1定义接口: Num.h #ifndef _NUM_H_ #define _NUM_H_   #include #include   /************************************************************************/ /* 数组的结构体类型...
分类:其他好文   时间:2014-08-01 02:26:31    阅读次数:243
UVA714- Copying Books(最大值最小化)
题意:k份书稿分成m份,使得每份的和最小 思路:典型最大值最小化问题,使用贪心+二分。贪心的是每次尽量将元素往右边划分,二分查找最小的x满足m个连续的子序列和S(i)都不超过x。 因为输出的原因,在划分时就从后往前尽量划分。 #include #include #include #include using namespace std; typedef long ...
分类:其他好文   时间:2014-07-31 13:29:27    阅读次数:178
POJ 1631 Bridging signals & 2533 Longest Ordered Subsequence
两个都是最长上升子序列,所以就放一起了1631 因为长度为40000,所以要用O(nlogn)的算法,其实就是另用一个数组c来存储当前最长子序列每一位的最小值,然后二分查找当前值在其中的位置;如果当前点不能作为当前最长子序列的最大值,则更新找到值为两者间的较小值。2533 就是一个裸的最长上升子序列...
分类:其他好文   时间:2014-07-30 20:13:04    阅读次数:230
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!