意甲冠军:给你1-n花瓶 。起初,所有的空,今天,有两种操作模式,1:从花瓶a開始插入b朵花 假设不能插进去 输出字符串 否则输出最多插入的起点和终点;2:把a-b的花瓶清空 输出处理花的个数;结构体数组num【i】表示节点i空瓶的数目线段树 開始deal函数对整个树初始化,updat...
分类:
其他好文 时间:
2015-06-23 13:20:39
阅读次数:
94
1.问题描述 在一个整数数组中,元素都为整数,没有重复数。设计一个算法找出满足两个数的和等于k值得数对。例如a[]={1,3,8,6,4}中两个数的和为7的数对为(1,6)和(3,4)。2. 解决方案2.1 暴力法 首先先到的可能就是暴力法,暴力没举出所有的数对然后再判对他们的和是否为K,但这种方法的时间复杂度为O(n^2),效率比较低,一般不可取。代码也就不写了。、2.2 二分法 先对数组进...
分类:
编程语言 时间:
2015-06-20 09:16:48
阅读次数:
140
【摘要】查找—-用关键字标识一个数据元素,查找时根据给定的某个值,在表中确定一个关键字的值等于给定值的记录或数据元素。在计算机中进行查找的方法是根据表中的记录的组织结构确定的。查找功能数据处理的一个基本功能。数据查找并不复杂,但是如何实现数据又快又好地查找呢?前人在实践中积累的一些方法,值得我们好好学些一下。我们假定查找的数据唯一存在,数组中没有重复的数据存在。1、 顺序查找设想有一个1M的数据,我...
分类:
编程语言 时间:
2015-06-17 21:38:47
阅读次数:
173
网上看到的思路更好,网上说的是,先用二分法找到左端点,再用二分搜索找到右断点。问题即得到解决。我的思路不太好,我是首先找到等于target的索引,然后以此为中心向两边扩。class Solution {public: vector searchRange(vector& nums, int t...
分类:
其他好文 时间:
2015-06-16 19:09:47
阅读次数:
101
方法一:二分查找
x = 24
epsilon = 0.01
numGuesses = 0
low = 0.0
high = max(1.0,x)
ans = (high + low)/2.0
while abs(ans*ans - x)>=epsilon:
print 'low:',low,'high:',high,'ans =',ans
numGuesses += 1
...
分类:
其他好文 时间:
2015-06-15 16:31:05
阅读次数:
161
还有一个:二分插入排序 平均时间O(n2) 稳定1、插入排序在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。直接插入排序是稳定的。算法时间复杂度O(n2)--[n的平方]mai...
分类:
移动开发 时间:
2015-06-15 16:19:28
阅读次数:
184
九章算法官网-原文网址
http://www.jiuzhang.com/problem/77/
题目
写出一个高效的算法来搜索 m × n矩阵中的值。
这个矩阵具有以下特性:
1) 每行中的整数从左到右是排序的。
2) 每行的第一个数大于上一行的最后一个整数。
在线测试本题
http://www.lintcode.com/zh-cn/problem/search...
分类:
编程语言 时间:
2015-06-14 12:33:13
阅读次数:
145
上海邀请赛热身时候,C题是一个二分+贪心的题目。起初并不会,问了旁边的复旦大神。这几天无意发现VJ上一个专题。擦原来是一个经典类型。
二分+贪心
这类题目注意数据范围,1e8,1e9一般都是这样。
注意事项
二分法有很多写法,推荐用lf+1 < rf的写法。这个也符合计算机中数据存取的原则。对于浮点数,直接就循环100次,精度绝对够。
一般有两种类型,一种是询问最优,即数列中无重...
分类:
其他好文 时间:
2015-06-13 00:00:27
阅读次数:
317
题目描述:
不用sqrt(x)库函数,实现求平方根。
解题思路:
采用二分法
假定要求数num的平方根,那么首先取1~num之间的中点mid。
若 mid * mid > num,那么 根在 1~mid-1之间;
若 mid * mid
若 mid * mid == num,直接输出 mid;
由于整数int求平方根是向下取整,所以,若mid * mid
if (mi...
分类:
其他好文 时间:
2015-06-11 11:10:26
阅读次数:
100
好神啊好神啊.....大概就是,对于一个询问,我们可以二分答案求出结果的话......那么对于一大堆询问,我们一起二分它们的答案......然后,我们通过某种简化的判定条件来决定询问应该被分到左边还是右边.把当前处理的询问扫一遍,求出应该往左递归的询问和往右递归的询问. 然后把左边的询问堆到一起,往...
分类:
其他好文 时间:
2015-06-09 21:43:54
阅读次数:
110