3和6不过,求助呜呜

P1757 通天之分组背包

``` #include<stdio.h> int max(int x,int y) { return x > y ? x : y; } int w[1010],v[1010],g[1010],dp[1010],a[1010],c[101][1010]; int main() { int m,n; scanf("%d %d",&m,&n); for(int i=1;i<=n;i++){ scanf("%d %d %d",&w[i],&v[i],&g[i]); } int k=0; for(int i=1;i<=n;i++){ if(a[g[i]]==0){ k++; } a[g[i]]++; c[g[i]][a[g[i]]]=i; } for(int i=1;i<=k;i++){ for(int j=m;j>=1;j--){ for(int b=0;b<=a[g[i]];b++){ if(j>=w[c[i][b]])//记得加等于 dp[j]=max(dp[j],dp[j-w[c[i][b]]]+v[c[i][b]]); } } } printf("%d",dp[m]); } ```
by myxsb @ 2024-01-18 14:46:05


@[myxsb](/user/1202041) 一看就是大佬
by _HCl_ @ 2024-01-18 15:38:40


@[myxsb](/user/1202041) 啊懂了跪谢!
by yuyujun @ 2024-01-18 18:57:14


666
by Andy_WA @ 2024-02-07 22:27:22


|