• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            POJ 1276 Cash Machine


            79ms   Cash Machine

            多重背包問(wèn)題:
            思想:
              把多重背包問(wèn)題轉(zhuǎn)化成01背包,假設(shè)某件物品的數(shù)量上限是n,每件的體積是c,價(jià)值是w 
              那么可把該物品分成系數(shù)是1,2,4……,2^(k-1), 和n-2^k+1,(k的滿(mǎn)足2^k<n)的最大整數(shù)
              那么新的物品就是(體積,價(jià)值)(1*c,1*w),(2*c,2*w),(4*c,4*w),
                        ……(2^k*c,2^k*w),((n-2^k+1)*c,(n-2^k+1)*w)
                例如7可以分成系數(shù)為1,2,4。 13得到系數(shù)為1,2,4,6的物品。
               這樣構(gòu)造出來(lái)的物品和原來(lái)數(shù)量小于等于n的情況等同,即原來(lái)該物品可取的任意數(shù)量,可以由這些物品組合得到。
               如比如7那個(gè)例子,取6個(gè)物品,可由2,4得到。取3個(gè)物品可由,1,2得到。
               deal()就是完成這樣的任務(wù)。
             1 
             2 #include<iostream>
             3 #include<algorithm>
             4 #include<string.h>
             5 using namespace std;
             6 int c[10001]={0};
             7 int dp[100001]={0};  
             8 int i,j,n,cash,npack,bill,num;
             9 
            10 void deal(int num, int bill)
            11 {
            12     int k=0,j,t;
            13     if(num==1){ npack++; c[npack]=bill; return ; }
            14     if(num==2){ npack++; c[npack]=bill; npack++; c[npack]=bill; return ;}
            15     for( k=1,j=2*k; 2*j-1<num; k++,j*=2)  //j==2^k
            16                     ;
            17     k--;   
            18     for(j=1,t=0; t<=k; j*=2,t++)
            19     {
            20              npack++;
            21              c[npack]=j*bill;
            22     }
            23     npack++;
            24     c[npack]=(num-j+1)*bill;
            25 }
            26 
            27 int main()
            28 {
            29       
            30     while(cin>>cash)
            31     {
            32        memset(dp,0,sizeof dp);
            33        memset(c,0,sizeof c);
            34        npack=0;  
            35        cin>>n;
            36        for(i=1; i<=n; i++)
            37                { 
            38                       cin>>num>>bill;
            39                       if(num==0)continue;
            40                       deal(num,bill);
            41                }
            42                
            43                
            44      
            45        dp[0]=1;
            46        
            47        for(i=1; i<=npack; i++)
            48        for(j=cash; j>=c[i]; j--)
            49        {
            50                    dp[j]= dp[j]||dp[j-c[i]];
            51        }
            52        
            53        for(j=cash; j>=0; j--)
            54                   if(dp[j])
            55                   {
            56                            cout<<j<<endl;
            57                            break;
            58                   }
            59     }
            60     system("pause");
            61     return 0;
            62 }
            63 
            64 

            posted on 2010-08-09 23:52 田兵 閱讀(707) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): POJ

            <2010年5月>
            2526272829301
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(2)

            隨筆分類(lèi)(65)

            隨筆檔案(65)

            文章檔案(2)

            ACM

            搜索

            積分與排名

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            久久久久久精品免费免费自慰| 久久青草国产精品一区| 久久天天日天天操综合伊人av| 久久青青国产| 麻豆一区二区99久久久久| 香蕉久久一区二区不卡无毒影院 | 久久久精品人妻一区二区三区蜜桃| 国产亚洲精品久久久久秋霞| 久久91精品国产91久久户| 久久夜色精品国产噜噜亚洲a| 国内精品伊人久久久久777| 超级碰久久免费公开视频| 久久精品亚洲AV久久久无码| 久久久青草青青亚洲国产免观| 午夜精品久久影院蜜桃| 亚洲欧美精品伊人久久| 久久发布国产伦子伦精品| 一级A毛片免费观看久久精品| 996久久国产精品线观看| 狠狠色婷婷久久综合频道日韩 | 午夜精品久久久久久久| 欧美久久亚洲精品| 国产福利电影一区二区三区久久老子无码午夜伦不 | 漂亮人妻被中出中文字幕久久 | 久久亚洲AV成人无码| 久久综合成人网| 久久精品国产精品亚洲下载| 色综合久久88色综合天天 | 亚洲国产成人久久综合一区77| 丰满少妇人妻久久久久久| 久久香综合精品久久伊人| 三上悠亚久久精品| 久久久久久国产精品免费无码| 97精品伊人久久久大香线蕉 | 国产69精品久久久久观看软件| 久久精品亚洲男人的天堂| 婷婷久久精品国产| 久久婷婷五月综合97色直播| 久久天天躁狠狠躁夜夜avapp | 久久成人18免费网站| 亚洲国产成人久久综合野外|