MedianTime Limit:1000MSMemory Limit:65536KTotal Submissions:3866Accepted:1130DescriptionGivenNnumbers,X1,X2, ... ,XN, let us calculate the difference ...
分类:
其他好文 时间:
2014-09-13 10:34:44
阅读次数:
236
题目大意:add即像数字串中添加数字,del n 删除数字串中值为n的元素。sum 按照所给公式求和。
坑点:所给的数字是由小到大排序的,需要注意的是后面如果add一个数字,需要放到合适的位置。比如 3,4,7,9, 如果add 6,6需要放在4,7之间。
这道题一直超时,关键在删除值为n的元素的时候会超时,因为需要遍历。 所以使用二分搜索找到插入n的位置以及删除n的位置。
...
分类:
其他好文 时间:
2014-09-03 15:04:06
阅读次数:
177
题目链接:http://poj.org/problem?id=2785思路: 朴素的枚举算法时间复杂度到了O(n^4),肯定会超时,这里我们用到了折半枚举的方法~ 原理就是先算前两个数组的各个元素进行枚举的和,排序后,然后再枚举后面两个数组各个元素的和,是这两块的和为0,而这部操作可以用到二分搜索....
分类:
其他好文 时间:
2014-08-30 11:12:19
阅读次数:
229
题目链接:http://poj.org/problem?id=3061先说说最朴素的算法,那就是for嵌套了,复杂度是O(n^3)太慢,想都不用想一定会超时。接下来有的人可能会想到二分搜索的思想,将时间复杂度优化成O(n*logn),我试了一下,可以AC。但是这都不是今天要说的重点,今天要说的是一个...
分类:
其他好文 时间:
2014-08-29 14:21:27
阅读次数:
228
1. 二分搜索详见笔者博文:二分搜索的那些事儿,非常全面2. 矩阵二分搜索(1) 矩阵每行递增,且下一行第一个元素大于上一个最后一个元素(2) 矩阵每行递增,且每列也递增3. DFS 深度优先搜索适用场景:(1) 输入数据:如果是 递归数据结构(如单链表、二叉树),则一定可以使用DFS(2) 求解目...
分类:
其他好文 时间:
2014-08-19 16:12:34
阅读次数:
207
分治算法,有很多典型的问题,如最近点问题、线性选择问题、整数划分问题、大整数成绩问题、棋盘覆盖问题、循环赛日程表、二分搜索、Strassen矩阵乘法、汉诺塔等。准备花些时间逐个解决这些问题,并用Java实现,从最近点问题开始。网上找到一些代码,标题如“java 用蛮力法和分治法求解最近对有关问题”,虽然体现了分治,但划分不够彻底,因此我重新对其进行了实现。
一、基本思想及策略:...
分类:
编程语言 时间:
2014-08-12 22:10:54
阅读次数:
233
看编程珠玑,深知二分搜索的用处之大,自己写了一遍,竟然出了死循环。代码如下: 1 int bsearch(int *data, int val,int left, int right) 2 { 3 if(left >1; 6 if(data[mid]==val) 7 ...
分类:
其他好文 时间:
2014-08-11 17:32:12
阅读次数:
175
题目链接
题意:有一个飞机场,有两条待飞跑到w和e,一条起飞跑道,每一时刻只能起飞一架飞机,然后有w[i]和e[i]架飞机进入w和e跑道,飞机编号从0开始,问说如何安排起飞可以使得飞机编号的最大值最小。
思路:只要二分搜索,找到最小的答案就可以了,注意跑道上为0时,是没有飞机起飞的。
#include
#include
#include
#include
u...
分类:
其他好文 时间:
2014-08-10 21:41:00
阅读次数:
323
代码如下: 1 template int binarySearch(const T* pt, int n, T t) 2 3 { 4 int head = 0, tail = n-1; 5 int i; 6 while (tail >= head) 7 { 8 i = (head +...
分类:
其他好文 时间:
2014-07-29 10:42:46
阅读次数:
214
二分搜索实例 ,先排序,算出每一个石头的间隔,从l和最小间隔中二分找答案#include #include using namespace std;int a[50010],n,m;bool cmp(int a,int b){ return am) return 0; else retu...
分类:
其他好文 时间:
2014-07-19 22:27:54
阅读次数:
280