青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 43,  comments - 9,  trackbacks - 0
http://acm.pku.edu.cn/JudgeOnline/problem?id=1276
題目大意是:
給定N種面值分別為d[k]的鈔票,數(shù)量分別為n[k]張.再給一個整數(shù)cash.
求,用這些鈔票能表示出的不大于cash的最大值是多少.
數(shù)據(jù)范圍N<=1000, n[k]<=1000, cash<=100000

最簡單的DP思路是大背包.把每一張鈔票看成一件物品,把cash看成背包容量.
這樣的復(fù)雜度是O(sigma(n[k])*cash),上限是10^11,顯然難以應(yīng)付1000ms的時限.

此處便需利用一個整數(shù)的性質(zhì)來壓縮鈔票數(shù):
易知,1,2,4,...,2^(k-1)這些數(shù)的線性組合,可以表示出任意小于2^k的正整數(shù).
所以如果n[i]=2^k-1,那么實際上鈔票k,就可以轉(zhuǎn)化為分別用系數(shù)(1,2,4,...,2^k-1)去乘d[k]而得到的鈔票各一張.
如果n[i]!=2^k-1,只需取系數(shù)1,2,4,..,2^(k-1),n[i]-(2^k-1),其中k是使2^k-1<=n[i]的最大整數(shù).

代碼如下:
 1 #include <iostream>
 2 #include <algorithm>
 3 using namespace std;
 4 int dp[100010],mark;
 5 int sn,cash;
 6 struct BILL{
 7     int n,d;
 8 }b[1010];
 9 int ans;
10 
11 void go_dp(){
12     int i,k,upb,r,s;
13     dp[0]=mark;
14     ans=0;
15     for(k=0; k<sn; k++){
16         r=1//系數(shù):2的冪次
17         while(b[k].n>0){
18             if((r<<1)-1>b[k].n){
19                 r=b[k].n-(r-1);
20                 b[k].n=0;
21             }
22             s=r*b[k].d; //新鈔票的面值
23             upb=min(ans+s,cash);
24             for(i=upb; i>=s; i--){
25                 if(dp[i-s]==mark){
26                     dp[i]=mark;
27                     if(ans<i) ans=i;
28                 }
29             }
30             r<<=1;
31             if(ans==cash) return;
32         }
33     }
34 }
35 
36 int main(){
37     int i,j,k;
38     mark=0;
39     while(scanf("%d%d",&cash,&sn)!=EOF){
40         ans=0; mark++;
41         for(i=0;i<sn;i++){
42             scanf("%d%d",&b[i].n,&b[i].d);
43             ans+=b[i].n*b[i].d;
44         }
45         if(ans>cash)
46             go_dp();
47         
48         printf("%d\n",ans);
49     }
50     return 0;
51 }
52 

另,在網(wǎng)上搜得另一種思路,開bool數(shù)組記錄每個總額是否能達(dá)到,開個2維數(shù)組記錄達(dá)到相應(yīng)總額每種鈔票使用數(shù)
個人以為,這種方法不能保證總得到最優(yōu)解.考察如下的例子:
cash=3*4*5=60
鈔票(面值*張數(shù)):3*19,4*14,5*11
假設(shè)55的方案恰好是5*11,56的方案恰好是4*14,57的方案恰好是3*19,那么在考慮60時就找不到解了.實際上60是可以達(dá)到的.





posted on 2009-04-11 13:21 wolf5x 閱讀(428) 評論(0)  編輯 收藏 引用 所屬分類: acm_icpc
<2011年7月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

"Do not spend all your time on training or studying - this way you will probably become very exhausted and unwilling to compete more. Whatever you do - have fun. Once you find programming is no fun anymore – drop it. Play soccer, find a girlfriend, study something not related to programming, just live a life - programming contests are only programming contests, and nothing more. Don't let them become your life - for your life is much more interesting and colorful." -- Petr

留言簿(3)

隨筆分類(59)

隨筆檔案(43)

cows

搜索

  •  

最新評論

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲高清影视| 午夜天堂精品久久久久| 亚洲午夜在线观看视频在线| 在线观看成人一级片| 一区在线观看视频| 1204国产成人精品视频| 亚洲欧洲精品一区二区三区| 亚洲国产精品尤物yw在线观看| 亚洲欧洲在线一区| 中国成人黄色视屏| 欧美一级专区免费大片| 欧美在线综合视频| 国产偷自视频区视频一区二区| 先锋影院在线亚洲| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美视频网站| 欧美香蕉大胸在线视频观看| 一本一道久久综合狠狠老精东影业 | 亚洲一区二区精品视频| 亚洲欧美日韩国产精品| 久久久久久久久综合| 亚洲国产精品成人va在线观看| 久久久久久久成人| 亚洲区中文字幕| 午夜日韩在线| 欧美日韩精品二区第二页| 国产精品视频精品| 亚洲欧洲在线观看| 久久久久www| 这里只有视频精品| 噜噜爱69成人精品| 国产精品欧美日韩| 亚洲清纯自拍| 久久综合伊人77777蜜臀| 日韩一区二区精品| 另类春色校园亚洲| 国产麻豆一精品一av一免费| 亚洲免费av片| 免费亚洲一区二区| 欧美亚洲视频一区二区| 欧美三级网址| 日韩一区二区精品| 欧美大片免费观看| 久久久亚洲欧洲日产国码αv| 亚洲视频网站在线观看| 久久久久久91香蕉国产| 国产美女精品视频| 亚洲午夜精品福利| 亚洲成人中文| 久久久久久久一区二区三区| 亚洲免费成人av| 欧美成人国产va精品日本一级| 国产性色一区二区| 久久国产精品毛片| 亚洲一区二区三区四区在线观看| 欧美日韩hd| 99综合在线| 亚洲三级视频在线观看| 欧美成人综合一区| 91久久久亚洲精品| 91久久综合| 欧美日韩福利在线观看| 99国产一区二区三精品乱码| 亚洲韩日在线| 欧美日韩的一区二区| 99亚洲一区二区| 亚洲美女av网站| 一区二区三区久久精品| 欧美va亚洲va日韩∨a综合色| 午夜久久黄色| 国产一区二区三区观看| 久久精品人人做人人爽| 午夜视频久久久久久| 国产一区视频在线观看免费| 久久久福利视频| 久久青青草综合| 日韩视频免费| 中文亚洲免费| 国产日韩成人精品| 久久婷婷久久一区二区三区| 久久久久一本一区二区青青蜜月| 亚洲国产精品va在线看黑人| 欧美高清一区二区| 欧美日韩直播| 久久精品成人| 另类春色校园亚洲| 亚洲手机成人高清视频| 欧美一区精品| 亚洲麻豆av| 午夜精品在线观看| 亚洲欧洲精品一区二区三区波多野1战4 | 久久久人成影片一区二区三区观看| 午夜性色一区二区三区免费视频 | 欧美日韩亚洲高清| 久久国产加勒比精品无码| 久久综合国产精品| 亚洲综合视频网| 久久久久国产精品一区二区| 在线亚洲欧美视频| 久久久久久久综合日本| 亚洲一区视频在线| 美日韩在线观看| 久久精品麻豆| 欧美系列亚洲系列| 亚洲激情视频在线| 国产日韩亚洲| 一级日韩一区在线观看| 亚洲成人原创| 亚洲成色777777在线观看影院| 欧美电影电视剧在线观看| 亚洲欧洲精品一区二区三区| 久久福利毛片| 在线亚洲成人| 乱中年女人伦av一区二区| 午夜精品久久久久影视| 欧美成年人视频网站| 久久免费观看视频| 国产日韩欧美视频在线| 一本色道久久综合精品竹菊| 亚洲国产清纯| 亚洲午夜av| 欧美日韩精品综合| 亚洲一区二区三区乱码aⅴ| 美日韩精品视频| 欧美 日韩 国产在线| 国产日本欧美在线观看| 亚洲天堂网在线观看| 宅男噜噜噜66一区二区| 另类天堂视频在线观看| 蜜桃精品一区二区三区 | 先锋影音网一区二区| 亚洲欧美日韩精品久久久久| 欧美日韩午夜在线| 日韩视频免费在线| 一个色综合av| 欧美天天在线| 亚洲一区二区三区中文字幕| 亚洲欧美日韩中文在线制服| 欧美色欧美亚洲另类七区| 宅男噜噜噜66国产日韩在线观看| 午夜精品www| 国内精品免费在线观看| 久久九九国产精品| 欧美电影免费| 一本一本久久a久久精品综合麻豆| 欧美经典一区二区| 亚洲精一区二区三区| 亚洲一区二区三区乱码aⅴ| 国产精品久久久久一区二区三区共 | 国产欧美 在线欧美| 亚洲欧美激情精品一区二区| 欧美一区二区三区视频| 国产在线精品一区二区夜色| 久久蜜臀精品av| 亚洲国产欧美精品| 午夜性色一区二区三区免费视频 | 精品51国产黑色丝袜高跟鞋| 美女网站久久| 亚洲在线电影| 美脚丝袜一区二区三区在线观看 | 亚洲图片自拍偷拍| 国产精品一区二区久久精品| 久久精品欧美日韩| 亚洲国产精品视频一区| 亚洲影院免费观看| 精品成人免费| 欧美日韩另类综合| 久久久精品国产免大香伊| 亚洲二区在线观看| 性欧美暴力猛交69hd| 在线观看国产欧美| 国产精品久久久久久久免费软件| 久久国产精品亚洲va麻豆| 亚洲国产天堂久久综合网| 午夜视频精品| 亚洲精品日本| 国产在线视频欧美| 欧美日韩一区二区三| 一区二区三区 在线观看视| 久久九九精品| 一区二区三区黄色| 久久综合给合久久狠狠色| aa日韩免费精品视频一| 狠狠88综合久久久久综合网| 欧美日韩a区| 久久综合狠狠综合久久综合88| 亚洲视频在线一区观看| 亚洲动漫精品| 久久在线精品| 欧美一区二区高清| 亚洲小视频在线| 亚洲美女av网站| 狠狠久久亚洲欧美| 国产精品视频免费| 欧美日韩一二三四五区| 麻豆精品国产91久久久久久| 午夜精品区一区二区三| 宅男精品视频| 亚洲最新视频在线| 日韩一区二区精品在线观看|