个人思路:

从小往大切,感性理解一下。

由于每个人都足够聪明,博弈 dp 只有后效型而没有前效性,所以从固定的最终状态倒序往前 dp,得到初始状态的答案。

状态:\(dp_{i,j}\) 表示还剩 \(i\) 个切糕,对手还有 \(j\) 次选择权时对手最多的切糕。

因为选择权在对手,自己的切糕不是很好维护,维护对手的切糕也是一样的。

转移:\(dp_{i,j} = \max{dp_{i-1,j} + size_{big}, dp_{i-1,j-1} + size_{small}}\)。

显然,对手可以用或者不用选择权。如果用,拿走大块。不用,拿走小块。

每块的大小决定权在我们手里。显然,对手选和不选的收益和固定,我们希望这两个值中的较大值最小,那么我们切糕的时候就要让二者收益尽可能平均。

具体而言:

如果 \(dp_{i-1,j-1} > dp_{i-1,j}\),我们直接均分。

如果 \(dp_{i-1,j-1} + a_i < dp_{i-1,j}\),我们不切(即分为大小为 \(0\) 和 \(a_i\) 的两块)。

否则,一定存在切法使二者相等。

答案即为 \(\sum\limits_{i=1}^n a_i - dp_{n,m}\)。

最新文章

  1. 介介介是一个ORM
  2. shell parameter expansitions
  3. 在SQLSERVER2008中建立数据库复制碰到的问题
  4. 如何在Mac系统里面更新 Ansible 的 Extra Modules
  5. Bugtags 与其它产品的区别
  6. Android 高级编程 RecyclerView 控件的使用
  7. ES5 vs ES6
  8. Extjs Cmd 学习笔记
  9. c/c++字符串处理大集合
  10. Java深度遍历文件夹(递归实现)
  11. Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
  12. JQuery5.04获取
  13. Inhouse interview(websense)
  14. webstrom命令大全
  15. 如何使用fiddler抓取https请求(PC和移动端)
  16. ajax跳转到新的jsp页面
  17. 我发起了一个 用 javascript 写一个 Office 的 开源项目 JS Office
  18. 京东618:Docker扛大旗,弹性伸缩成重点 (2015-06-23)
  19. Python异常处理机制、调试、测试
  20. [JDK8] Optional

热门文章

  1. Codeforces 1228A、Distinct Digits
  2. vue node Failed at the iview-admin
  3. nfs-client-provisioner 利用NFS动态提供Kubernetes后端存储卷
  4. echars中国地图
  5. 对SQL CTE的一点个人理解
  6. 7.29关灯游戏,用script实现
  7. Linux常用命令-文件处理命令一
  8. 关于nginx隐藏index.php入口文件注意事项
  9. 【转载】rename。给文件批量改名的python脚本
  10. JS脱敏姓名、身份证、电话、邮箱