CF 1476F & CF713E

CF1476F Lanterns

\(dp_i\) 表示前 \(i\) 个灯笼最远覆盖的位置,有:

  1. 向右覆盖,若 \(dp_{i-1} \ge i\) , \(dp_i=\max(dp_{i-1},i+p_i)\)

    否则 \(dp_i=dp_{i-1}\)

  2. 向左覆盖,找到 \(k\) 满足 \(dp_k+1\ge i-p_i\)

\[dp_i=\max(i-1,\max_{k < j < i}\{j+p_{j}\}) \]

二分得到最小 \(k\) ,处理区间最值即可

CF713E Sonya Partymaker

选择最长一段的破环,枚举最左端的点的选择情况转化为链的情况。

posted @ 2022-10-18 19:43  chihik  阅读(21)  评论(0编辑  收藏  举报