洛谷 P1006 [NOIP 2008 提高组] 传纸条 题目笔记

94 阅读1分钟

看到传纸条这道题,一定会想到方格取数那道题,异曲同工。

这道题给你一个m行n列的矩阵,从起点(1,1)到终点(m,n)走两次,问取到的最大值。其中的限制为不能走同一个格子。

还记得方格取数那道题,若走了相同的格子,就减去一次格子的值来处理,这道题不能走同一个格子我们可以认为一条路线恒在另一条路线的上方。

我们有dp[i][j][k][l]表示第一条路线走到(i,j)第二条路线走到(k,l)的最大值,要满足k在i之上,l在j之右,即对于k和l枚举i+1到m和1到j-1。

最后的结果输出第一条路到终点的左边,第二条路到终点的上边即可,即dp[m-1][n][m][n-1]。其余与方格取数那道题一样。