标程状态转移
f[i][j][x][y]=max(f[i-1][j][x-1][y], f[i-1][j][x][y-1], f[i][j-1][x-1][y], f[i][j-1][x][y-1]) + a[i][j] + a[x][y];也就是两个点的状态同时发生变化
我这里状态转移方程是
f[i][j][x][y]=max(f[i-1][j][x][y] + a[i][j], f[i][j-1][x][y]+ a[i][j], f[i][j][x-1][y] + a[x][y], f[i][j][x][y-1] + a[x][y])
也就是一个点的状态在变,另一个不变。
我自己这个状态转移方法会导致某一点状态算两次,我在纸上画了才知道的,注意我是有i==x && j==y 不加状态值这个判断的,是加了之后还会重复计算。为什么前者状态转移就是正确的,而我这不行,感觉都很合理啊。。。