文章

285

粉丝

20

获赞

860

访问

160.3k

头像
简单背包问题 题解:
P1035
发布于2026年3月18日 09:55
阅读数 251

#include<iostream>
#include<bits/stdc++.h>
#include<vector>
using namespace std; 
int main(){
    int s, n;
    while(cin >> s >> n){ //s表示背包重量,n表示物品件数 
        vector<int> weights(n);
        vector<bool> dp(s + 1, false); //表示是否能凑出重量j 
        dp[0] = true;
        for(int i = 0; i < n; i++) cin >> weights[i];
        for(int i = 0; i < n; i++){
            int w = weights[i];
            for(int j = s; j >= w; j--){
                if(dp[j-w]) dp[j] = true;
            }
        }
   &...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发