zoukankan      html  css  js  c++  java
  • HDU2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 完全背包

    代码如下:

    #include <cstring>
    #include <cstdlib>
    #include <cstdio>
    #include <algorithm>
    #define MAXN 105
    using namespace std;
    
    int N, M, p[MAXN], v[MAXN], num[MAXN], dp[MAXN];
    
    int zo_bag(int v, int p)
    {
        for (int i = N; i >= p; --i) {
            dp[i] = max(dp[i], dp[i-p]+v);
        }
    }
    
    int c_bag(int x)
    {
        int k = 1;
        while (num[x]-k > 0) {
            zo_bag(k*v[x], k*p[x]);
            num[x] -= k;
            k <<= 1;
        }
        if (num[x]) {
            zo_bag(num[x]*v[x], num[x]*p[x]);
        }
    }
    
    int DP()
    {
        for (int i = 1; i <= M; ++i) {
            c_bag(i);
        }
        return dp[N];
    }
    
    int main()
    {
        int T;
        scanf("%d", &T);
        while (T--) {
            memset(dp, 0, sizeof (dp));
            scanf("%d %d", &N, &M);
            for (int i = 1; i <= M; ++i) {
                scanf("%d %d %d", &p[i], &v[i], &num[i]);
            }
            printf("%d\n", DP());
        }
        return 0; 
    }
  • 相关阅读:
    Z算法
    CodeForces 939F
    CodeForces 15D
    ZOJ 3408
    CodeForces 962D
    CodeForces 29D
    CodeForces 1129C
    RabbitMQ.NET In Window Service
    封装RabbitMQ.NET Library 的一点经验总结 转载
    DotNetBar 使用笔记
  • 原文地址:https://www.cnblogs.com/Lyush/p/2479761.html
Copyright © 2011-2022 走看看