binary_search 使用方式 binary_search(区间起始,区间结束后一个,要查找的元素。 lower_bound和upper_bound ...
分类:
其他好文 时间:
2018-06-30 20:52:40
阅读次数:
144
lower/upper bound 有些时候我们需要知道有序数列中第一个大于或等于k(lower bound)的数或者第一个大于k的数(upper bound),如果我们一个一个查找时间复杂度是O(n)的,在STL(Algorithm库)中有两个函数lower_bound,和upper_bound, ...
分类:
其他好文 时间:
2018-06-14 01:19:14
阅读次数:
319
下标间距<=k,立马就想到滑动窗口,维护一个大小为k的区间。 对于新的数,维护区间大小的同时,需要判断该区间中是否存在 [num-t, num+t] 的数字。由于需要根据大小查找,可以利用大小为 k 的 set 作为维护的区间,set 是有序的,因此可以调用 lower_bound 找到第一个大于等 ...
分类:
其他好文 时间:
2018-06-09 15:24:08
阅读次数:
165
头文件 : algorithm vector<int>a a中的元素必须升序,用的是二分 lower_bound(a.begin(),a.end(),k) 返回a容器中,最右边的小于等于k的地址,取值范围是a.begin()到a.end(); upper_noubd(a.begin(),a.end( ...
分类:
其他好文 时间:
2018-06-05 23:18:37
阅读次数:
199
1、lower_bound:查找序列中的第一个出现的值大于等于val的位置 这个序列中可能会有很多重复的元素,也可能所有的元素都相同,为了充分考虑这种边界条件,STL中的lower_bound算法总体上是才用了二分查找的方法,但是由于是查找序列中的第一个出现的值大于等于val的位置,所以算法要在二分 ...
分类:
编程语言 时间:
2018-06-01 19:07:29
阅读次数:
150
最大化最小值的问题。 方法一:直接做,顺便复习一下迭代器和lower_bound的用法。 方法二:分别计算每个house左面和右面距离最近的heater。时间复杂度比上述要低。学习一下 *max_element 和 *min_element 的用法。 ...
分类:
其他好文 时间:
2018-05-31 19:15:34
阅读次数:
152
题意:取出字符串Str里的两个串S,T,问对应位置的的字符在否有一一映射关系。 hash:对于每个字符s=‘a’-‘z’,我们任意找一个i,满足Si==s,(代码里用lower_bound在区间找到最小的位置i)其对应的字符为Ti==t。然后我们判断这段区间里s的hash值是否等于t的hash值。不 ...
分类:
其他好文 时间:
2018-05-22 22:17:01
阅读次数:
264
大理石在哪儿? 做本题主要是为了熟悉STL中的sort函数和lower_bound函数: sort函数在以前的编程学习中见过了很多次,所以运用起来比较熟练,不再多讲 lower_bound函数的作用是查找“大于或者等于x的第一个位置”,但是在用的时候有一个疑问,为什么要-a? 经过百度百科之后知道, ...
分类:
其他好文 时间:
2018-05-12 19:29:12
阅读次数:
140
这里不讲题,主要写方法 题目链接:https://www.luogu.org/problem/show?pid=1020 Dilwroth定理。 应用:求覆盖整个序列不下降子序列最小数量 标准LIS,使用upper_bound(),初值赋最大 Dilworth,使用lower_bound(),初值赋 ...
分类:
其他好文 时间:
2018-05-04 18:23:39
阅读次数:
173
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1012 单调栈水题;用了一下lower_bound二分。 代码如下: ...
分类:
其他好文 时间:
2018-04-29 01:12:32
阅读次数:
180