动态规划方程
pascal吧
全部回复
仅看楼主
level 11
别的很容易学,一学到动态规划就脑子晕晕的,求大神解答以下问题。
1、动态规划方程与程序有什么联系?希望有一个详细的例子。
2、动态规划这种算法的运算有什么特别的流程图?比如拦截导弹。
谁能详细回答我粉他[拜]
2013年11月25日 10点11分 1
level 12
1、用pascal写出来的话方程和程序的关键部分很像,例如:
f[i,j]:=max(f[i,j],f[i,k]+f[k,j])
在程序中就是
for k:=1 to x do
for i:=1 to n do
for j:=1 to m do
f[i,j]:=max(f[i,j],f[i,k]+f[k,j]);
2、动归大部分就是迭代的思想。
如,数塔问题:
递归的话时间复杂度O(2^n),算上常数n>25就挂了。
动归的话时间复杂度O(n^2),理论上n<10000都没事。
动归在数塔中就是将每个节点最大的数值存起来,以后调用就不用再算了。。
啊,打了半天~~
2013年11月25日 14点11分 2
楼主正解。不过感觉这么说初学者还是看不大懂。真的。
2013年12月08日 04点12分
回复 82111668_2012 :1、我是层主。。2、我也不知道怎么表达了。。
2013年12月08日 09点12分
level 7
DP神犇跪烂
2013年12月08日 03点12分 3
1