lower_bound 与 upper_bound

lower_bound 与 upper_bound

lower_bound: 在序列中找到第一个大于等于x 的数

upper_bound: 在序列中找到第一个大于x的数

条件:序列有序,且为升序

写法:

lower_bound(a + 1, a + 1 + n, x), upp....雷同

如何查找降序中第一个小于 \(x\) 的数呢?

bool cmp(const int& a, const int& b){return a > b;}
lower_bound(a + 1, a + 1 + n, x, cmp);

作用方便二分查找,进行简单替换

即得易见平凡,仿照上例显然,留作习题答案略,读者自证不难

反之亦然同理,推论自然成立,略去过程QED,由上可知证毕(多么美妙的证明)

posted @ 2021-03-28 14:33  zxsoul  阅读(89)  评论(0编辑  收藏  举报