1.问题
设 m 万元钱,n 项投资,函数 表示将 x 万元投入第 i 项项目所产生的效益,i=1,2,…,n.问:如何分配这 m 元钱,使得投资的总效益最高?
2.解析
3.设计
for (int i=1;i<=number;i++)
{
for (int j=0;j<=money;j++)
{
dp[i][j]=0;
for (int k=0;k<=j;k++)
{
if (dp[i][j]<f[i][k]+dp[i-1][j-k])
dp[i][j]=f[i][k]+dp[i-1][j-k];
}
}
}
4.分析
时间复杂度:W(n, m)=O(n·m^2)
5.源码
https://github.com/lmouette/-/commit/8a7e6a106dcfda4ab6b0e576bea4dafd871d02a1