问题描述
有N个城市,每个城市有Ai个人。
现在要开始投票,每个人有一张票。
作为领导者,你有B个箱子,你必须要将这B个箱子分发到N个城市去,每个城市至少需要一个箱子。
每个人都必须要投票,不能弃票,也就是说要把票丢进箱子里去(每个城市有Ai张票)。...
分类:
其他好文 时间:
2014-12-12 20:55:13
阅读次数:
122
1 #include 2 3 #define LEN 10 4 5 /* 6 折半查找(二分法检索). 7 */ 8 9 int 10 index_of(int *a, int k) {11 int l = 0;12 int r = LEN -1;13 int m;...
分类:
其他好文 时间:
2014-12-11 11:53:45
阅读次数:
127
public class binarySearchTest{ public static void main(String[] args) { int[] a = {1,5,9,36,49,89,102}; int c = 49; int po...
分类:
编程语言 时间:
2014-12-09 17:07:10
阅读次数:
199
查找算法目录概述查找算法顺序查找二分法分块查找查找算法的运用概述查找算法顺序查找二分法分块查找查找算法的运用
分类:
编程语言 时间:
2014-12-09 11:48:10
阅读次数:
206
题目:统计一个数字在排序数组中出现的次数。例如输入排序数组{1,2,3,3,3,3,4,5},由于3在这个数组中出现了4次,因此输出4.分析:直接方法,顺序扫描数组得到出现次数。时间复杂度为O(n)。更快的方法,由于数组有序,可以用二分法得到第一个3和最后一个3的位置,就确定了出现多..
分类:
编程语言 时间:
2014-12-09 10:42:11
阅读次数:
177
Implementint sqrt(int x).Compute and return the square root ofx.二分法, 在[0, x/2 + 1]区间内折半查找。注意mid * mid 可能会溢出。int sqrt(int x) { unsigned long...
分类:
其他好文 时间:
2014-12-07 16:20:21
阅读次数:
163
问题描述:
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
基本思想:
二分法构建二差排序树。
代码:
TreeNode *subsortedArrayToBST(vector & num,int begin, int end) /...
分类:
其他好文 时间:
2014-12-04 23:18:01
阅读次数:
189
问题一:找出最大值(最大或最小) 法一:用一个中间变量(默认是a[0])与数组每一个值比较,大的就赋值给中间变量 法二:找出最大值的下标,用一个下标变量(默认‘0’)与数组的每个值比较,大的就赋该值的下标给变量问题二:数组的查找操作。(二分法的应用:对于有序的序列) 练习:有一个有...
分类:
编程语言 时间:
2014-11-26 18:07:35
阅读次数:
209
题目大意:路两旁各有N个城市,一旁N个富城市,一旁N个穷城市,每个穷
城市缺少一种资源(各不相同),每个富城市拥有一种资源(各不相同),穷城市
p需要从富城市r得到这种资源,就得修路。为了不造成交通堵塞,修的路不能
有交叉,问最多能修几条路,也就是有几个城市得到资源。
思路:就是给你两边各N个点,在这两边连线,每个点只能连一次,问最多有
多少线不交叉。把一边的点按升序排列,那么题目就转换为求另一边的最大上
升子序列了,而这道题数据规模为500000,O(N^2)算法肯定超时,只能用
栈+二分法的O(Nlog...
分类:
其他好文 时间:
2014-11-26 11:28:08
阅读次数:
238
题目大意:两边都有N个点,给你N个点的连线关系,现在删除一些线,使剩下的线不想交,
求不相交的线最多有多少条。
思路:都知道是最长上升子序列,那么怎么来的呢
比如说现在有6对点,从上到下,左右两边的点是依次递增排序的。如果想让总的不相交的线数
最多,那么从左边第一个点开始,每个点就要尽可能和右边序号最小的点连接,这样以后的点才
能和更多的点连接。但是如果之后两个及两个以上的点所能连接的点都比第一个点连接的右边点
序号小,且不相交,则舍弃第一个,选择之后的点,否则选择前一个。
如题目中的图所示:
左1和右4相...
分类:
其他好文 时间:
2014-11-24 11:51:02
阅读次数:
123