题解 | #白兔的字符串#

xinjun与阴阳师

https://ac.nowcoder.com/acm/problem/14602

本题为一道 分组背包 问题

1.坑点:v[i][j]代表价值,w[i][j]代表容量,我之前写的题这两个意思是反过来的

上代码:

#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
int v[N][N],w[N][N],s[N]; 
int f[N];
int n,m,t;

int main()
{
    cin>>t;
    while(t--)
    {
        cin>>n>>m;
        for(int i=1;i<=n;i++)
        {
            cin>>s[i];
            //注意本题的坑点,这里的v[i][j]代表价值,w[i][j]代表容量!!!
            for(int j=1;j<=s[i];j++) cin>>v[i][j];
            for(int j=1;j<=s[i];j++) cin>>w[i][j];
        }
        memset(f,0,sizeof(f));
        for(int i=1;i<=n;i++)
            for(int j=m;j>=0;j--)
                for(int k=1;k<=s[i];k++)
                    if(j>=w[i][k])
                        f[j]=max(f[j],f[j-w[i][k]]+v[i][k]);
        cout<<f[m]<<endl;
    }
    
    return 0;
}
全部评论

相关推荐

预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
点赞 评论 收藏
分享
10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
10-15 09:13
已编辑
天津大学 soc前端设计
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务