动态规划公式

来源:互联网 发布:在淘宝上如何贷款 编辑:程序博客网 时间:2024/06/08 15:02

-----石子合并
F[i,j]:=min(f[i,k]+f[k+1,j]+sum[i,j]);

5. 剖分问题2
-----多边形剖分
F[I,j]:=min(f[i,k]+f[k,j]+a[k]*a[j]*a[i]);

6. 剖分问题3
------乘积最大
f[i,j]:=max(f[k,j-1]*mult[k,i]);

7. 树型动态规划1
-----加分二叉树 (从两侧到根结点模型)
F[I,j]:=max{f[I,k-1]*f[k+1,j]+c[k]}

8. 递推天地2
------数的划分
f[i,j]:=f[i-j,j]+f[i-1,j-1];

9. 线型动态规划3
-----最长公共子串,LCS问题
f[i,j]={0 (i=0)&(j=0);
f[i-1,j-1]+1 (i>0,j>0,x[i]=y[j]);
max{f[i,j-1]+f[i-1,j]}} (i>0,j>0,x[i]<>y[j]);
10. 资源问题4
-----装箱问题(判定性01背包)
f[j]:=(f[j] or f[j-v[i]]);


11. 数字三角形1
-----朴素の数字三角形
f[i,j]:=max(f[i+1,j]+a[I,j],f[i+1,j+1]+a[i,j]);

12. 双向动态规划1
数字三角形3
-----小胖办证
f[i,j]:=max(f[i-1,j]+a[i,j],f[i,j-1]+a[i,j],f[i,j+1]+a[i,j])

13. 数字三角形4
-----过河卒
//边界初始化
f[i,j]:=f[i-1,j]+f[i,j-1];

14. 递推天地3
-----情书抄写员
f[i]:=f[i-1]+k*f[i-2]

15 线性动态规划5
-----隐形的翅膀
min:=min{abs(w[i]/w[j]-gold)};
if w[i]/w[j]<gold then inc(i) else inc(j);

16 最短路1
-----Floyd
f[i,j]:=max(f[i,j],f[i,k]+f[k,j]);
ans[q[i,j,k]]:=ans[q[i,j,k]]+s[i,q[i,j,k]]*s[q[i,j,k],j]/s[i,j];

17 线性动态规划
------合唱队形
两次F[i]:=max{f[j]+1}+枚举中央结点

原创粉丝点击