zoukankan      html  css  js  c++  java
  • 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(复习多重背包)

    悼念512汶川大地震遇难同胞——珍惜现在,感恩生活

    传送门

    【题目大意】

    在资金一定的情况下,给出救难用的每袋大米的重量,价格,袋数。求购买大米的最终重量。

    【思路】多重背包。

    【复习】多重背包特点。

    题目 
    N种物品和一个容量为V的背包。第i种物品最多有n[i]件可用,每件费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 

    【code】

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int t,mon,k,w[102],pri[102],f[102],cnt[102];
    int main()
    {
        scanf("%d",&t);
        while(t--)
        {
            memset(f,0,sizeof(f));
            scanf("%d%d",&mon,&k);
            for(int i=1;i<=k;i++)
            scanf("%d%d%d",&pri[i],&w[i],&cnt[i]);
            for(int i=1;i<=k;i++)
            {
                for(int j=mon;j>=pri[i];j--)
                {
                    for(int h=0;h<=cnt[i];h++)
                    {
                        if(j-h*pri[i]<0)break;
                        f[j]=max(f[j],f[j-h*pri[i]]+h*w[i]);
                    }
                }
            }
            printf("%d
    ",f[mon]);
        }
        return 0;
    }
  • 相关阅读:
    Java NIO中的FileLock(文件锁)
    Java NIO中的Channel接口
    Java NIO中的Buffer类
    Java NIO简介
    Java 自定义序列化、反序列化
    Java 对象的序列化、反序列化
    SVN常用操作
    Windows下SVN的下载、安装
    Java RandomAccessFile类
    Java的IO流
  • 原文地址:https://www.cnblogs.com/zzyh/p/7044883.html
Copyright © 2011-2022 走看看