1. 程式人生 > 實用技巧 >【JVM】Java中9種常見的CMS GC問題分析與解決

【JVM】Java中9種常見的CMS GC問題分析與解決

題目來源

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; }