@[w\_y\_c](/space/show?uid=19141)
只走n-1步,分两次走
因为你枚举步数把两次走都包含进去了,所以只是n-1
by 封癫 @ 2017-05-25 16:43:43
@[封癫](/space/show?uid=25815)
不好意思 不太理解你的意思 猜你说的“只走n-1步,分两次走”意思是 只是x的距离总共变了n-1步 但是分两次走又是什么意思呢?
我对这种方法的理解是两个点同时出发 总步数是2\*n-2步 刚刚又看了一下题解 是不是我对这种方法的理解就错了。。
by w_y_c @ 2017-05-25 18:07:05
@[w\_y\_c](/space/show?uid=19141)
观察四维数组的转移方程可知,某人第一次走一步,第二次也必定跟一步。所以我们得出结论::第一次和第二次走的步数一定是相等的。
所以我们用步数,根据x坐标可以减出对应y坐标的值。
而每次这个人都走n-1步。
by 封癫 @ 2017-05-25 18:22:52
@[封癫](/space/show?uid=25815)
不好意思 比较蠢。。。
明白两次的步数一定是相等的 也明白用x的值就可以弄出y的值
但是我觉得就是起点是(1,1)到终点是(n,n)就是2\*n-2步。。
所以我的状态转移方程就是
```cpp
f[l][x1][x2]=a[l-x1+2][x1]+a[l-x2+2][x2]+_max(f[l-1][x1][x2],f[l-1][x1][x2-1],f[l-1][x1-1][x2],f[l-1][x1-1][x2-1]);
```
然后就只能过样例。。
但是我看到题解里别人的写法都是到2\*n-1和
```cpp
f[l][i][j]=_max()+a[i][k-i+1]+a[j][k-j+1];
```
所以非常不能理解。。。
by w_y_c @ 2017-05-25 18:40:04
这个。。。k是啥
@w\_y\_c
by 封癫 @ 2017-05-25 18:46:50
@[w\_y\_c](/space/show?uid=19141)
ddd
by 封癫 @ 2017-05-25 18:47:06