【JVM】Java中9種常見的CMS GC問題分析與解決
阿新 • • 發佈:2020-11-13
題目來源
https://www.acwing.com/problem/content/description/2/
思路
基本按照該文章 https://www.jianshu.com/p/a66d5ce49df5 思路碼出的程式碼,空間上還能用滾動陣列優化,先挖個坑以後再補
程式碼
#include<iostream> #include<algorithm> using namespace std; #define MAXN 1005 int dp[MAXN][MAXN];//dp[n][v]前n個數在重量為v的情況下代表的價值 int main() { int N,V; cin>>N>>V; int v[MAXN]={0}; int w[MAXN]={0}; for(int i = 1; i <= N; i ++) { cin>>v[i]>>w[i]; } for(int i = 1; i <= N; i ++)//以1為初始值是因為預設dp[0][0]為0,方便程式碼書寫 { for(int j = 1; j <= V; j ++) { if(j >= v[i]) { dp[i][j]= max(dp[i-1][j],dp[i-1][j-v[i]]+w[i]);//轉移方程 } else { dp[i][j] = dp[i-1][j]; } } } cout<<dp[N][V]; return 0; }