第九章动态规划学习课件.pptVIP

  • 2
  • 0
  • 约2.57万字
  • 约 10页
  • 2018-12-09 发布于湖北
  • 举报
第九章动态规划学习课件.ppt

【问题分析】 本题可以用动态规划解决,设f(k,m)为前m本书交由k个人抄写,需要的最短时间,则状态转移方程为 f[k][m]=min{max{f[k-1][i], }, i=1, 2, …, m-1} 动态规划求出的仅仅是最优值,如果要输出具体方案,还需根据动态规划计算得到的最优值,做一个贪心设计。具体来说,设最优值为T,那么k个人,每个人抄写最多T页。从最后一本书开始按逆序将书分配给k人去抄写,从第k个人开始,如果他还能写,就给他;否则第k个人工作分配完毕,开始分配第k-1个人的工作;以后再是第k-2个、第k-3个、……直至第1个。一遍贪心结束后,具体的分配方案也就出来了。 * 【参考程序】 #includeiostream #includecstdio #includecstdlib using namespace std; int max1(int,int); int print(int,int); int x,y,i,j,m,n,k,t,l; int a[501],f[501][501],d[501]; int main() { cinmk; for (i=0;i=500;i++) for (j=0;j=500;j++) f[i][j] for (

文档评论(0)

1亿VIP精品文档

相关文档