ABC389F
- 给出
n 个区间[L_i,R_i] ,定义函数:f(X,i)=\begin{cases}X,i=0\\f(X,i-1)+1,i\ne 0\land f(X,i-1)\in[L_i,R_i]\\f(X,i-1),\text{otherwise}\end{cases}
注意到
考虑归纳法。
- 当
i=0 时显然非降。- 假设当
i\in [0,m] 时非降,则当i=m+1 时,记最小、最大的满足f(X,m)\in[L_{m+1},R_{m+1}] 的X 分别为X_{\min},X_{\max} ,则由于非降的性质,f(X,m)\in[L_{m+1},R_{m+1}] 的X 构成的集合等价于区间[X_{\min},X_{\max}] ,且f(X_{\max}+1,m)>f(X_{\max},m) 。则对于这个区间内的数X 而言,f(X,m+1)=f(X,m)+1 ,剩余X 的f(X,m+1)=f(X,m) 。由于当i=m 时f(X,i) 非降,因此对于[1,X_{\min}),[X_{\min},X_{\max}],(X_{\max},+\infty) 三个区间而言,其内部的f(X,m+1) 非降。且有f(X_{\min}-1,m)\le f(X_{\min},m)<f(X_{\min},m)+1 ,f(X_{\max},m)+1=f(X_{\max},m+1)\le f(X_{\max}+1,m+1) 。从而证明了临界点处非降。因此当i\in[1,m+1] 时f(X,i) 非降。\mathcal{Q.E.D.}
然后就简单了。枚举
时间复杂度
AC Link & Code