演算法
發現矩陣的每一行滿足最優子結構性質
問題簡化為
對於一個長度為 \(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