问题
设m元钱,n项投资,函数f[i][x]表示将x元投入第i项项目所产生的效益,i=1,2,…,n。 问:如何分配这m元钱,使得投资的总效益最高?
解析
用动态规划解决投资问题
设dp[i][j]表示投给前i个项目j万元的最大效益
递推方程:dp[i][j]=max(dp[i][j],dp[i-1][j-k]+f[i][k)
用ans[i][j]表示投给前i个项目j万元,投给第i个项目的钱
设计
int n, m;
int dp[1010][1010], ans[1010][1010], f[1010][1010];
int main() {
scanf("%d %d",