zoukankan      html  css  js  c++  java
  • 背包前三讲

    https://blog.csdn.net/yoer77/article/details/70943462

    一,01背包

    描述:自己背了一个背包,有一个容量,面前有n件物品,每件物品有一个价值一个重量,然后用这个背包去装总价值最多的物品

    思路:考虑所有的状态,去遍历每一件物品,然后枚举所有的容量从0-m,如果能装下当前物品就计算不装和装(当前物品的价值和剩余重量的最优值之和)的哪个答案更优

     for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=c;j++)
            {
                if(j>=w[i])
                    m[i][j]=max(m[i-1][j],m[i-1][j-w[i]]+v[i]);
     
     
                else
                    m[i][j]=m[i-1][j];
            }
        }

    二,完全背包

    和01背包类似,但是每件物品的个数不限量,

  • 相关阅读:
    Java 测试代码模板
    git 保存用户名和密码
    git 高级命令
    git 最常用命令
    git 冲突解决
    git diff命令
    nginx静态服务器的配置
    使用SFTP工具下载文件
    git log 格式化输出
    9-angular.fromJson
  • 原文地址:https://www.cnblogs.com/Lis-/p/9787262.html
Copyright © 2011-2022 走看看