Loading

P1005 [NOIP2007 提高组] 矩阵取数游戏

算法

发现矩阵的每一行满足最优子结构性质

问题简化为

对于一个长度为 \(m\) 的数列, 每次取其首尾的数

显然可以用区间 dp 解决

状态定义

\(dp_{i, j}\) 表示区间 \([i, j]\) 的最优价值

状态转移方程

\[dp_{i, j} = \max {(dp_{i - 1, j} + w_{i - 1, j \rightarrow i, j}, dp_{i, j - 1} + w_{i, j - 1 \rightarrow i, j})} \]

答案

手动模拟每一个区间长度为 \(1\) 的 dp 数组

代码

略, 本题 ctj

总结

只要转移前后都有确定区间即可以使用区间 dp

posted @ 2024-10-04 18:53  Yorg  阅读(47)  评论(0)    收藏  举报