求助背包问题
  • 板块学术版
  • 楼主terraria_lxc
  • 当前回复15
  • 已保存回复15
  • 发布时间2025/6/25 23:21
  • 上次更新2025/6/26 23:22:57
查看原帖
求助背包问题
1668297
terraria_lxc楼主2025/6/25 23:21

多重背包中为什么写双层循环的这种形式只能判断可行性,而不能求出最优性解

bool dp[maxc];
int num[maxc];
void work(int n,int W){
    dp[0]=1;
    for(int i=1;i<=n;i++){
        memset(num,0,sizeof(num));
        for(int j=v[i];j<=W;j++){
            if(!dp[j]&&dp[j-v[i]]&&num[j-v[i]]<c[i]){
                dp[j]=1;
                num[j]=num[j-v[i]]+1;
            }
        }
    }
}
2025/6/25 23:21
加载中...