当前位置: 首页 > news >正文

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\) 之后分奇偶算贡献。

http://www.jsqmd.com/news/29374/

相关文章:

  • 代码复杂度的代价远比你想象得大
  • CSP2025 - S 年度总结大会报告
  • minio 服务端加密方式
  • 25CSP退役游记(11.1更新)
  • 第二章实践作业
  • (补11月)代码大全阅读笔记2
  • java 基础语法一
  • VisualStudio 2022如何打开.slnx文件格式的解决方案
  • (补11月)代码大全阅读笔记3
  • CSP2025 - S 游记
  • CSP-S游记
  • 小组作业1
  • C语言字符串及其函数
  • CPULOAD建模设计
  • C 文件操作全解速览
  • Java记录类:简化数据载体的新选择
  • 第二次算法作业
  • NOIP 2025 游记 退役记
  • 一个万古常青的、小而美的输入法
  • 开始学深度学习!
  • 守护线程--daemon
  • 换一个思维解决问题:希望在转角
  • 条件表达式中的赋值问题
  • csp2025 总结
  • 2025 CSP
  • Jenkins-CICD项目自动化部署
  • 使用Stream API重构你的数据处理
  • js实现页面弹框,每天没个浏览器只在第一次访问会有弹框
  • [省选联考]追忆——题目背景美化
  • 多线程封装