首页 > 编程语言 > 详细

STL函数 lower_bound 和 upper_bound 在算法竞赛中的用法

时间:2020-01-25 11:44:18      阅读:76      评论:0      收藏:0      [点我收藏+]

以前比较排斥这两个函数,遇到二分都是手写 while(left<=right)。

这次决定洗心革面记录一下这两个函数的在算法竞赛中的用法,毕竟一般不会导致TLE

技术分享图片

其实百度百科已经概述得比较清楚了,

我们假设 \(value\) 为一个给定的数值,
\(lower\_bound\) 是在一个升序序列中从前后后找第一个大于等于 \(value\) 的值
\(upper\_bound\) 是在一个升序序列中从前后后找第一个大于 \(value\) 的值

注意,这两个函数的返回值都是一个指针,指向原序列中可以插入value,而不会破坏容器顺序的第一个位置。
我们可以在指针函数前面加个取值符 * ,来获得想得到的值。

看到这里,你应该知道lower和upper这两个单词的含义的吧,即将value插入某位置后该序列仍然分别是单调不严格递增单调严格递增的。

STL函数 lower_bound 和 upper_bound 在算法竞赛中的用法

原文:https://www.cnblogs.com/zhwer/p/12232910.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!