zoukankan      html  css  js  c++  java
  • HDU 4508 湫湫系列故事——减肥记I (完全背包)

    题意:有n种食物,每种食物可以给湫湫带来一个幸福感a,同时也会给她带来b的卡路里的摄入,然后规定她一天摄入的卡路里的量不能超过m,一共有n种食物,问可以得到的

    最大的幸福感是多少?

    解题报告:一开始以为是01背包,没看题,然后发现题目里面没有说每种食物只能吃一次,才发现是个完全背包,一开始还以为题目的第二组测试数据是错的,无语。。。

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<algorithm>
     5 using namespace std;
     6 
     7 int a[105],b[105],ans[100005];
     8 
     9 int main()
    10 {
    11     int n,m;
    12     while(scanf("%d",&n)!=EOF)
    13     {
    14         for(int i = 0;i < n;++i)
    15         scanf("%d%d",&a[i],&b[i]);
    16         scanf("%d",&m);
    17         memset(ans,0,sizeof(ans));
    18         for(int i = 0;i < n;++i)
    19         for(int k = 1;k <= m / b[i];++k)
    20         for(int j = m;j >= k * b[i];--j)
    21         ans[j] = max(ans[j],ans[j-k * b[i]] + k * a[i]);
    22         int Mtot = ans[0];
    23         for(int i = 0;i <= m;++i)
    24         Mtot = max(ans[i],Mtot);
    25         printf("%d
    ",Mtot);
    26     }
    27     return 0;
    28 }
    View Code
  • 相关阅读:
    LeetCode-160. Intersection of Two Linked Lists
    LeetCode-328. Odd Even Linked List
    LeetCode-234. Palindrome Linked List
    Trie树
    圆圈中最后剩下的数字
    LeetCode-215. Kth Largest Element in an Array
    n个骰子的和
    DFS & BFS
    ubuntu14.04安装显卡驱动(转载)
    Ubuntu 14.04 配置caffe环境
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3602796.html
Copyright © 2011-2022 走看看