ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

AT ABC285E Work or Rest 题解

AT ABC285E Work or Rest 题解

Link

有趣的 DP 题,难点在于从哪里开始入手以及优化(也许)。

显然 DP 可以方便地处理这个 \(\max\) 值的转移,但是从哪个位置开始 DP 呢?注意到周期呈现环状,也就是说一周的第 \(n\) 天和下一周的第 \(1\) 天是可以结合产生贡献的,我们钦定第 \(1\) 天休息开始 DP,答案最终存储在 \(dp_{n + 1}\) 中。令 \(dp_i\) 表示在前 \(i\) 天中,最近一次休息在第 \(i\) 天时的最大价值,有转移:

\[dp_{r} = \max_{l = 1}^{r} \{ dp_l + v(l, r) \} \]

其中 \(v(l, r)\) 表示第 \(l\) 天和第 \(r\) 天休息,在 \([l + 1, r - 1]\) 连续工作时的价值获取总和。注意到这个东西呈现出一个“单峰”的趋势,从中间断开形成一个镜像形状形如 \(a_1, a_2, a_3, \dots, a_3, a_2, a_1\),尝试通过前缀和来维护这个东西,将区间长度除以 \(2\) 之后分奇偶算贡献。

返回列表