zoukankan      html  css  js  c++  java
  • hdu acm 2191

    这是我第一次碰到背包的题目,做的很烂,还是看过背包九讲的,唉~

    简单的多重背包

    #include "stdio.h"
    #include "string.h"
    #define MAX(a,b) ((a)>(b)?(a):(b))

    int
    dp[90000];

    int
    main()
    {

        int
    T;
        int
    n,m;
        int
    p,w,b;
        int
    i,j,k;

        scanf("%d",&T);
        while
    (T--)
        {

            scanf("%d%d",&n,&m);
            memset(dp,0,sizeof(dp));

            for
    (i=0;i<m;i++)
            {

                scanf("%d%d%d",&p,&w,&b);
                for
    (k=n;k>=0;k--)
                {

                for
    (j=b;j>=0;j--)
                {

                    if
    (j*p<=k)
                    {

                        dp[k]=MAX(dp[k-j*p]+j*w,dp[k]);
                    }
                }
                }
            }


            printf("%d\n",dp[n]);
        }
    }


  • 相关阅读:
    Codeforces 1515 H. Phoenix and Bits 题解
    Codeforces 1511 F. Chainword 题解
    Codeforces 1369F. BareLee 题解
    莫队学习笔记
    圆方树学习笔记
    虚树学习笔记
    NOIP2020退役记
    CSP-S2 2021 场外
    我。
    WC2021 游记
  • 原文地址:https://www.cnblogs.com/Shirlies/p/2264105.html
Copyright © 2011-2022 走看看