定義
解釈
[1, 3, 5, 5, 6, 7]
[----)
L U
lower_bound で混乱している人かわいそう - えびちゃんの日記
key と同じ値が [lower_bound, upper_bound) の範囲にある
Rust の superslice では [lower_bound, upper_bound) を求める関数として、equal_range がある。
各値の lower_bound と upper_bound

$i$ での upper_bound $=$ $i+1$ での lower_bound になっている(定義から明らかではある)
lower_bound, upper_bound の典型問題
数列 $A,B$ は昇順でソートされているとする。
配列上の切り捨てと切り上げ

その他
ある集合 $A$ の最大値・最小値を求めたいという場面で二分探索は使える。
この集合に対する二分探索には2つのパターンがある
$x\in A$ の真偽が $x$ に対して単調の場合:
$x\in A$ の真偽が $x$ に対して単調とは限らない場合:
要するに $A$ に穴が空いている場合など
単調となる次の条件を考えて二分探索する
参考: 下方閉包
決め打ち二分探索