1. 理論

1.1. 条件が単調減少の場合

$p\colon 2^{[0, n)} \to 2$ を単調減少な関数とする。($2=\{\mathrm{false}, \mathrm{true}\}$)

$p(\emptyset) = \mathrm{true}$ とする。

1.2. 条件が単調増加の場合

$p\colon 2^{[0, n)} \to 2$ を単調増加な関数とする。($2=\{\mathrm{false}, \mathrm{true}\}$)

このとき、$f\colon [0,n)\to [0,n]\cup\{+\infty\},\ f(l) = \min\{ r\in [l,n] \mid p[l, r) = \mathrm{true}\}$ は単調増加になっている(ただし、$\min \emptyset = +\infty$ とする)

また、以下のことが言える。

2. できること

3. 実装