1. 问题
设 m 元钱,n 项投资,函数 表示将 x 元投入第 i 项项目所产生的效益,i=1,2,…,n.
问:如何分配这 m 元钱,使得投资的总效益最高?
2. 解析
3. 设计
int MaxProfit(int dp[M][N], int f[M][N], int n, int money)
{
for (int i = 1; i <= n; 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];
}
}
}
return dp[n][money];
}
4. 分析
5. 源码
https://github.com/kekekeQWQ/7