当前位置: 首页 > news >正文

01背包问题和完全背包问题

01背包:

#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e4+10;
int f[N][N];
int v[N],w[N];
int main ()
{
    int N,M;
    cin>>N>>M;
    for (int i=1;i<=N;i++)
    {
       cin>>v[i]>>w[i];
    }
    f[0][0]=0;
    for (int i=1;i<=N;i++)
    {
        for (int j=1;j<=M;j++)
        {
            if (j<v[i])
            {
                f[i][j]=f[i-1][j];
            }
            else
            {
                f[i][j]=max(f[i-1][j],f[i-1][j-v[i]]+w[i]);
            }
        }
    }
    cout<<f[N][M]<<endl;
    return 0;
}

完全背包问题:

#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e4+10;
int v[N],w[N];
int f[N][N];
int main ()
{
    int n,m;
    cin>>n>>m;
    for (int i=1;i<=n;i++)
    {
        cin>>v[i]>>w[i];
    }
   
    for (int i=1;i<=n;i++)
    {
        for (int j=0;j<=m;j++)
        {
           
                f[i][j]=f[i-1][j];
                if (j>=v[i])
                f[i][j]=max(f[i][j],f[i][j-v[i]]+w[i]);
            
            
        }
    }
    cout<<f[n][m]<<endl;
    return 0;
}


http://www.mrgr.cn/news/22220.html

相关文章:

  • dubbo 服务消费原理分析之服务目录
  • Java 中常用内置接口函数
  • 【MySQL】MySQL中表的增删改查——(基础篇)(超详解)
  • 2025年25届最新:如何用Java SpringBoot搭建公考学习平台?
  • CTK框架(三): 插件的安装
  • SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频
  • Web开发详解
  • 【Kubernetes】常见面试题汇总(二)
  • Spring框架IOC
  • 24-9-8-读书笔记(十七)-《契诃夫文集》(三)([俄] 契诃夫 [译] 汝龙 )
  • 2024年全新deepfacelive如何对应使用直播伴侣-腾讯会议等第三方软件
  • 银行贷款产品
  • MySQL基础
  • 使用Node.js实现单文件上传功能—含代码解释
  • 一文讲懂Spring Event事件通知机制
  • Redis访问工具
  • 【Java 优选算法】双指针(上)
  • 【Dart 教程系列第 50 篇】在 Flutter 项目的国际化多语言中,如何根据翻译提供的多语言文档表格,快速生成不同语言的内容
  • 计算机毕业设计选题推荐-宠物店管理系统-Java/Python项目实战
  • JVM 调优篇4 jvm的垃圾回收中垃圾日志的阅读查看2