算法分析与实践作业七

1.     问题

设共有m万元,有n项投资,函数fi(x)表示将x万元投入第i项项目所产生的效益,i=1,2,…,n.问:

如何分配这m元钱,使得投资总效益最高?

 

2.     解析

 

 

 

 

 

 

 

 

 

3.     设计

        for (int k = 1; k <= n; k++)

                 for (int x = 1; x <= m; x++)

                         for (int i = 0; i <= x; i++)

                                  if (dp[k - 1][x - i] + f[k][i] >= dp[k][x]) {

                                          dp[k][x] = dp[k - 1][x - i] + f[k][i];

                                          x[k][x] = i;

                                  }

4.     分析

时间复杂度为O(n*m*m)

 

 

 

 

 

5.     源码

github地址:https://github.com/122cmy/myGitTemp7

博客地址:https://www.cnblogs.com/122cmy/

posted @ 2021-05-10 10:15  小月爱写代码  阅读(43)  评论(0)    收藏  举报