离大谱,样例都过不了能得 99 分...

P1757 通天之分组背包

[改了一下,样例能过了,但成 4 分了...](https://www.luogu.com.cn/record/122301906)
by liysjianttso @ 2023-08-22 21:47:18


终于过了,但还是想有人解答一下为什么第一个用 vector 不行
by liysjianttso @ 2023-08-22 21:54:47


看不到代码
by HongKiang @ 2023-08-22 22:07:08


@[HongKiang](/user/755911) 对不起,代码如下: ```cpp #include<stdio.h> #include<algorithm> #include<vector> #define MA 4000010 using namespace std; int n,m,b[MA],dp[3000][3000],c[MA],w[MA],k; vector<int> v[MA]; int main(){ scanf("%d%d",&m,&n); for(int i = 1;i<=n;i++){ int cl; scanf("%d%d%d",&c[i],&w[i],&cl); k = max(k,cl); v[cl].push_back(i); } for(int i = 1;i<=k;i++){ for(int j = m;j>=0;j--){ for(int p = 0;p<v[i].size();p++){ if(j-c[v[i][p]]>=0){ dp[i][j] = max(dp[i][j],dp[i-1][j-c[v[i][p]]]+w[v[i][p]]); } } } } printf("%d",dp[k][m]); } ```
by liysjianttso @ 2023-08-23 16:59:48


14行,你是v[cl].push_back(i); 你的向量是存什么的???
by HongKiang @ 2023-08-23 17:09:24


@[HongKiang](/user/755911) 就是存第 cl 组有哪些物品的序号的 (没看到消息回晚了抱歉)
by liysjianttso @ 2023-08-24 20:21:33


6,我也是,我把题目意思理解错了,还拿了98qwq
by Jasonde1024 @ 2023-10-02 17:18:00


|