<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      HDU2191多重背包例題

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

      Time Limit: 1000 MS Memory Limit: 32768 KB

      64-bit integer IO format: %I64d , %I64u Java class name: Main

      [Submit] [Status] [Discuss]

      Description

      急!災區的食物依然短缺!
      為了挽救災區同胞的生命,心系災區同胞的你準備自己采購一些糧食支援災區,現在假設你一共有資金n元,而市場有m種大米,每種大米都是袋裝產品,其價格不等,并且只能整袋購買。
      請問:你用有限的資金最多能采購多少公斤糧食呢?

      后記:
      人生是一個充滿了變數的生命過程,天災、人禍、病痛是我們生命歷程中不可預知的威脅。
      月有陰晴圓缺,人有旦夕禍福,未來對于我們而言是一個未知數。那么,我們要做的就應該是珍惜現在,感恩生活——
      感謝父母,他們給予我們生命,撫養我們成人;
      感謝老師,他們授給我們知識,教我們做人
      感謝朋友,他們讓我們感受到世界的溫暖;
      感謝對手,他們令我們不斷進取、努力。
      同樣,我們也要感謝痛苦與艱辛帶給我們的財富~

      Input

      輸入數據首先包含一個正整數C,表示有C組測試用例,每組測試用例的第一行是兩個整數n和m(1<=n<=100, 1<=m<=100),分別表示經費的金額和大米的種類,然后是m行數據,每行包含3個數p,h和c(1<=p<=20,1<=h<=200,1<=c<=20),分別表示每袋的價格、每袋的重量以及對應種類大米的袋數。

      Output

      對于每組測試數據,請輸出能夠購買大米的最多重量,你可以假設經費買不光所有的大米,并且經費你可以不用完。每個實例的輸出占一行。

      Sample Input

      1
      8 2
      2 100 4
      4 100 2

      Sample Output

      400
      







      題目:有N種物品和一個容量為V的背包。第i種物品最多有num[i]件可用,每件費用是c[i],價值是w[i]。求解將哪些物品裝

      背包可使這些物品的費用總和不超過背包容量,且價值總和最大。 

       

      分析:狀態轉移為:

       

      題目:http://acm.hdu.edu.cn/showproblem.php?pid=2191

       

      1. #include <iostream>   
      2. #include <string.h>   
      3. #include <stdio.h>   
      4.   
      5. using namespace std;  
      6. const int N = 1005;  
      7.   
      8. int dp[N];  
      9. int c[N],w[N],num[N];  
      10. int n,m;  
      11.   
      12. void ZeroOne_Pack(int cost,int weight,int n)  
      13. {  
      14.     for(int i=n; i>=cost; i--)  
      15.         dp[i] = max(dp[i],dp[i-cost] + weight);  
      16. }  
      17.   
      18. void Complete_Pack(int cost,int weight,int n)  
      19. {  
      20.     for(int i=cost; i<=n; i++)  
      21.         dp[i] = max(dp[i],dp[i-cost] + weight);  
      22. }  
      23.   
      24. int Multi_Pack(int c[],int w[],int num[],int n,int m)  
      25. {  
      26.     memset(dp,0,sizeof(dp));  
      27.     for(int i=1; i<=n; i++)  
      28.     {  
      29.         if(num[i]*c[i] > m)  
      30.             Complete_Pack(c[i],w[i],m);  
      31.         else  
      32.         {  
      33.             int k = 1;  
      34.             while(k < num[i])  
      35.             {  
      36.                 ZeroOne_Pack(k*c[i],k*w[i],m);  
      37.                 num[i] -= k;  
      38.                 k <<= 1;  
      39.             }  
      40.             ZeroOne_Pack(num[i]*c[i],num[i]*w[i],m);  
      41.         }  
      42.     }  
      43.     return dp[m];  
      44. }  
      45.   
      46. int main()  
      47. {  
      48.     int t;  
      49.     cin>>t;  
      50.     while(t--)  
      51.     {  
      52.         cin>>m>>n;  
      53.         for(int i=1; i<=n; i++)  
      54.             cin>>c[i]>>w[i]>>num[i];  
      55.         cout<<Multi_Pack(c,w,num,n,m)<<endl;  
      56.     }  
      57.     return 0;  
      58. }  

       

      令附加通俗代碼

      #include<stdio.h>
      #include<string.h>
      #include<iostream>
      #include<algorithm>
      using namespace std;
            int m,n;
      int p[105],h[105],c[105];
      int dp[105];
      void  pd1(int cost,int value)//wanquan
      {
          for(int i=cost;i<=m;i++)
          {
              dp[i]=max(dp[i],dp[i-cost]+value);
          }

      }
      void pd2(int cost,int value)//01
      {
          for(int i=m;i>=cost;i--)
          {
              dp[i]=max(dp[i],dp[i-cost]+value);
          }
      }
      int main()
      {
          int t;
          scanf("%d",&t);
          while(t--)
          {
              memset(dp,0,sizeof(dp));
              memset(p,0,sizeof(p));
              memset(h,0,sizeof(h));
              memset(c,0,sizeof(c));
              scanf("%d%d",&m,&n);
              for(int k=1;k<=n;k++)
                  scanf("%d%d%d",&p[k],&h[k],&c[k]);
              for(int i=1;i<=n;i++)
              {
                  if(c[i]*p[i]>m)
                  {
                      pd1(p[i],h[i]);
                  }
                  else
                  {
                      int k=1;
                      while(k<c[i])
                      {
                          pd2(k*p[i],k*h[i]);
                          c[i]-=k;
                          k=k*2;
                      }
                      pd2(c[i]*p[i],c[i]*h[i]);
                  }
              }
              printf("%d\n",dp[m]);
          }
          return 0;
      }

      posted @ 2015-04-07 00:42  柳下_MBX  閱讀(535)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产一区二区三区色噜噜| 亚洲精品人妻中文字幕| 无码内射中文字幕岛国片| 四虎精品视频永久免费| 国产成人无码区免费内射一片色欲| 好湿好紧太硬了我太爽了视频| 高潮精品熟妇一区二区三区| 牲欲强的熟妇农村老妇女视频| 亚洲男女羞羞无遮挡久久丫| 潮喷失禁大喷水无码| 丝袜美腿亚洲综合在线观看视频| 亚洲区一区二区激情文学| 久久高清超碰AV热热久久| 全免费A级毛片免费看无码| 麻豆成人久久精品二区三| 国产日韩av免费无码一区二区三区| 夜夜躁日日躁狠狠久久av| 国产成人精品午夜2022| 午夜福利院一区二区三区| 69精品丰满人妻无码视频a片| 国产精品久久久久久福利69堂| 中文字幕精品亚洲无线码二区| 国产影片AV级毛片特别刺激| 久久99久国产麻精品66| 视频二区中文字幕在线| 色香欲天天影视综合网| 日韩中文字幕亚洲精品一| 色欲狠狠躁天天躁无码中文字幕| 国产精品一二三区久久狼| 91福利一区福利二区| 久久精品天天中文字幕人妻 | 鸡泽县| 国产女人在线视频| 亚洲女人天堂| 东京热一精品无码av| 国产自在自线午夜精品| 忍着娇喘人妻被中出中文字幕| 无套内谢少妇毛片aaaa片免费| a男人的天堂久久a毛片| 成人亚洲一级午夜激情网| 免费看成人欧美片爱潮app|