[ New Thread ]
Problem 1987 >> NOIP(2008)第三题“传纸条”题解NOIP(2008)第三题“传纸条”题解 - 交流讨论 - 信息学奥林匹克竞赛
crxis @ 2014-07-25 20:30:10
[ Quote ] [ Edit ] [ Delete ] 1#
这道题是典型的,双线程动态规划,

简单地说就是将两条路同时算进状态里,这样用状态 f [k][x1][x2] 来表示走第k步时第一条路所在位置的横坐标和第二条路所在位置的横坐标,
由于步数和横坐标都确定,所以纵坐标也是确定的,第一条路的纵坐标即为k-x1+1,第二条路的纵坐标为k-x2+1,方便起见我们用y1,y2来表示。
这样每一个状态的前一个状态就有四种可能,分别是f[k-1][x1][x2](两条路都向下走),f[k-1][x1-1][x2](第一条路向右,第二条路向下),f[k-1][x1][x2-1](第一条路向下,第二条路向右),f[k-1][x1-1][x2-1](两条路都向右),取最大值并加上两条路的所在位置的值即可,

动态转移方程就是:f(k,x1,x2)=max{f(k-1,x1,x2), f(k-1,x1-1,x2) ,f(k-1,x1,x2-1), f(k-1,x1-1,x2-1) }+v(x1,y1)+v(x2,y2)
(这里有一点要注意,就是根据题目要求,两条路不能有重复点,所以要加一步判断)
[Top] [Previous Page] [Next Page]