zoukankan      html  css  js  c++  java
  • 有依赖的背包

    有依赖背包

    #include<iostream>

    #include<algorithm>

    #include<cstring>

    using namespace std;

    const int maxn=55;

    const int maxv=100005;

    int tmp[maxv];

    int f[maxn][maxv];

    int N,V;  //主件的数量,背包的容量

    int main()

    {

        while(cin>>N>>V)

        {

            memset(f,0,sizeof(f));

            for(int i=1;i<=N;i++)

            {

                memset(tmp,-1,sizeof(tmp));

                int p,m;  //主件的费用,附件的数量

                cin>>p>>m;

                for(int j=p;j<=V;j++)

                    tmp[j]=f[i-1][j-p];

                int v,w;

                for(int j=1;j<=m;j++)

                {

                    cin>>v>>w;  //每一个附件的重量和价值

                    for(int k=V;k>=v;k--)

                    if(tmp[k-v]!=-1)

                        tmp[k]=max(tmp[k],tmp[k-v]+w);

                }

                for(int j=V;j>=0;j--)

                    f[i][j]=max(tmp[j],f[i-1][j]);

            }

            cout<<f[N][V]<<endl;

        }

        return 0;

    }

  • 相关阅读:
    jQuery.extend
    Topshelf便捷创建Windows服务
    cron表达式
    定时调度框架:Quartz.net
    sqlserver自定义函数
    HTML dom document 对象
    正则表达式之 数据验证 与 文本替换
    JavaScript 之 DOM 与 BOM
    CSS 之pseudo-classes 与pseudo-element的异同
    CSS中的 position与Grid Layout
  • 原文地址:https://www.cnblogs.com/fanhao050109/p/11228482.html
Copyright © 2011-2022 走看看