SCAU 动态规划算法
8615 快乐
Description
做出第i道题后,快乐指数将增加gethappy[i],消耗掉的精力将是losspow[i]
初始的快乐指数为1,精力为2000
最终剩余的精力必须大于0
计算得到的最多的快乐指数
输入格式
第一行输入一个整数n,表示有n道题。(n int n, m; cin > n; m = 2000; for (int i = 1; i > w[i]; for (int i = 1; i > v[i]; for (int i = 1; i // 当前精力做不了下一题,则快乐等于前i-1题 f[i][j] = f[i - 1][j]; // 能做,需进行决策是否选择要做 if (j = v[i])b f[i][j] = max(f[i - 1][j], f[i - 1][j - v[i]] + w[i]); } //初始快乐为1,所以加1 cout int n, m; cin n; m = 2000; for (int i = 1; i w[i]; for (int i = 1; i > v[i]; for (int i = 1; i = v[i]; j--) f[j] = max(f[j], f[j - v[i]] + w[i]); cout int n, m; cin n m; for(int i = 1; i > v[i] >> w[i]; for(int i = 1; i // 当前背包容量装不进第i个物品,则价值等于前i-1个物品 f[i][j] = f[i - 1][j]; // 能装,需进行决策是否选择第i个物品 if(j=v[i]) f[i][j] = max(f[i - 1][j], f[i - 1][j - v[i]] + w[i]); } cout ios::sync_with_stdio(0), cin.tie(0); cin m > n; for (int i = 1; i > v[i] >> w[i]; for (int i = 1; i for (int j = m; j = v[i]; j -- ) { f[j] = max(f[j], f[j - v[i]] + w[i]); } } cout cin a+1 >> b +1; int n = strlen(a+1), m = strlen(b+1); // cout for (int j = 1; j if (a[i] == b[j]) f[i][j] = f[i - 1][j - 1] + 1; else f[i][j] = max(f[i - 1][j], f[i][j - 1]); } } cout while (cinn && n) { for (int i = 0; i
