DP算法总结.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DP算法总结

1. 资源问题1 -----机器分配问题 f[i,j]:=max(f[i-1,k]+w[i,j-k]); 2. 资源问题2 ------01背包问题 f[i,j]:=max(f[i-1,j-v[i]]+w[i],f[i-1,j]); 3. 线性动态规划1 -----朴素最长非降子序列 f[i]:=max{f[j]+1} 4. 剖分问题1 -----石子合并 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. 资源问题3 -----系统可靠性(完全背包) f[i,j]:=max{f[i-1,j-c[i]*k]*P[I,x]}; 8. 贪心的动态规划1 -----快餐问题 f[i,j,k]:=max{f[i-1,j,k]+(T[i]-(j-j)*p1-(k-k)*p2) div p3}; 9. 贪心的动态规划2 -----过河 f[i]=min{{f(i-k)} (not stone[i]) {f(i-k)}+1} (stone[i]); +贪心压缩状态 10. 剖分问题4 -----多边形-讨论的动态规划 F[i,j]:=max{正正 f[I,k]*f[k+1,j]; 负负 g[I,k]*f[k+1,j]; 正负 g[I,k]*f[k+1,j]; 负正 f[I,k]*g[k+1,j];} g为min 11. 树型动态规划1 -----加分二叉树 (从两侧到根结点模型) F[i,j]:=max{f[i,k-1]*f[k+1,j]+c[k]}; 12. 树型动态规划2 -----选课 (多叉树转二叉树,自顶向下模型) f[i,j]表示以i为根节点选j门功课得到的最大学分 f[i,j]:=max{f[t[i].l,k]+f[t[i].r,j-k-1]+c[i]}; 13. 计数问题1 -----砝码称重 f[f[0]+1]=f[j]+k*w[j]; (1=i=n; 1=j=f[0]; 1=k=a[i];) 14. 递推天地1 ------核电站问题 f[-1]:=1; f[0]:=1; f[i]:=2*f[i-1]-f[i-1-m]; 15. 递推天地2 ------数的划分 f[i,j]:=f[i-j,j]+f[i-1,j-1]; 16. 最大子矩阵1 -----一最大01子矩阵 f[i,j]:=min(f[i-1,j],v[i,j-1],v[i-1,j-1])+1; ans:=maxvalue(f); 17. 判定性问题1 -----能否被4整除 g[1,0]:=true; g[1,1]:=false; g[1,2]:=false; g[1,3]:=false; g[i,j]:=g[i-1,k] and ((k+a[i,p]) mod 4 = j) 18. 判定性问题2 -----能否被k整除 f[i,j±n[i] mod k]:=f[i-1,j]; -k=j=k; 1=i=n 20. 线型动态规划2 -----方块消除游戏 f[i,i-1,0]:=0 f[i,j,k]:=max{f[i,j-1,0]+sqr(len(j)+k), //do f[i,p,k+len[j]]+f[p+1,j-1,0] //not do}; ans:=f[1,m,0]; 21. 线型动态规划3 -----最长公共子串,LCS问题 f[i,j]=0 (i=0)(j=0); f[i-1,j-1]+1 (i0,j0,x[i]=y[j]); max{f[i,j-1]+f[i-1,j]}} (i0,j0,x[i]y[j]); 22. 最大子矩阵2 -----最大带权01子矩阵O(n^2*m) 枚举行的起始,压缩进数列,求最大字段和,遇0则清零 23. 资源问题4 -----装箱问题(判定性01背包) f[j]:=(f[j] or f[j-v[i]]); 24. 数字三角形1 -----朴素の数字三角形 f[i,j]:=max(f[i+1,j]+a[I,j],f[i+1,j+1]+a[i,j]); 25. 数字三角形2 -----晴天小猪历险记之Hill 同一阶段上暴力动态规划

您可能关注的文档

文档评论(0)

shenlan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档