二分答案 + $dp$ .
- 这种只有比较大小的操作的题,套路大多是二分答案 $x$ ,将大于等于 $x$ 的视作 $1$ ,其余视作 $0$ ,再考虑判断.
- 此题二分答案后,可以设 $f(i)$ 表示要将位置 $i$ 上的数确定为 $1$ ,至少需要在前面填几个 $1$ (已确定的位置不算).
- 那么初始时,若 $i$ 的值未确定,则 $f(i)=1$ ,若 $\geq x$ ,则为 $0$ ,若 $<x$ ,则为 $inf$ .
- 转移时用队列,将前三个取出来,将最小的两个值加起来放在最后.因为要让最后一个为 $1$ ,则这三个中至少有两个 $1$ .
- 只剩下一个数时,判断它是否不超过可以随便填的 $1$ 的数目即可.
1 |
|