1. 查找和排序查找:顺序查找、二分查找、二叉搜索树、哈希表顺序查找:T(n) = O(n)
std::find二分查找:T(n) = O(log n) std::binary_search std::lower_bound
std::upper_bound哈希表: T(n) = O...
分类:
其他好文 时间:
2014-06-11 07:45:31
阅读次数:
250
这个题之前做过,方法太笨还不对,今天再做突然想到一个巧妙做法,网上应该也有别人用此方法的,因为并不是很难,但我没有看别人的,是自己想出来的哈哈哈
首先要对输入的数组进行排序,这是毋庸置疑的。
因为要计算绝对值的和,所以就想到了数轴上的距离的概念。要使|X1-A|+|X2-A|最小,也就是要找一个点A,使其到X1,X2距离和最短,所以很容易想到在数轴上只要A在X1和X2之间就行。...
分类:
其他好文 时间:
2014-06-08 15:20:36
阅读次数:
202
LightOJ 1088 Points in Segments 二分查找 这个不是二分答案的那种题了,是比较正常的那种集合区间中的那种元素查找的二分题目了。题意很简单,给n个有序的数,这些数分布在一个坐标轴上。给q次查找,询问在区间[x, y](这里的符号和代码的保持一致)中有多少个数据。
解法就是自己写一个二分函数upper_bound和lower_bound,然后直接计算区间即可。...
分类:
其他好文 时间:
2014-05-21 10:54:31
阅读次数:
239