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

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ù)組記錄每個總額是否能達到,開個2維數(shù)組記錄達到相應(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是可以達到的.





posted on 2009-04-11 13:21 wolf5x 閱讀(428) 評論(0)  編輯 收藏 引用 所屬分類: acm_icpc
<2009年5月>
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>
            最近看过的日韩成人| 9l视频自拍蝌蚪9l视频成人| 香蕉亚洲视频| 亚洲欧美清纯在线制服| 亚洲桃色在线一区| 先锋影音国产一区| 久久九九久久九九| 欧美超级免费视 在线| 久久蜜桃精品| 欧美福利网址| 国产精品久久久久一区二区三区共 | 香蕉亚洲视频| 久久精品欧美| 欧美第一黄网免费网站| 91久久精品国产91久久性色tv| 亚洲日韩欧美视频一区| 亚洲午夜av| 欧美中文字幕第一页| 欧美a级大片| 国产精品视频99| 在线观看欧美日韩国产| aa成人免费视频| 久久精品99| 亚洲国产精品一区二区www在线| 一本色道久久综合狠狠躁篇的优点| 欧美亚洲免费电影| 欧美激情黄色片| 国产一区二区三区精品久久久 | 亚洲激精日韩激精欧美精品| 亚洲精品在线三区| 午夜精品短视频| 欧美国产国产综合| 国产丝袜美腿一区二区三区| 亚洲国产日韩一区| 欧美一区二区三区在线| 欧美激情视频网站| 欧美在线日韩| 欧美日韩一区成人| 国内精品伊人久久久久av一坑| 一区二区日本视频| 欧美国产日韩xxxxx| 亚洲欧美美女| 国产精品黄页免费高清在线观看| 亚洲国产你懂的| 久久人人97超碰国产公开结果 | 性色一区二区| 亚洲精品久久久蜜桃| 久久午夜精品一区二区| 国产精品香蕉在线观看| 亚洲视频你懂的| 亚洲高清资源| 美女精品一区| 一区福利视频| 久久久久久国产精品一区| 亚洲图片欧美午夜| 国产精品久久一区主播| 亚洲综合首页| 中国女人久久久| 欧美四级剧情无删版影片| 99在线精品视频在线观看| 亚洲黄色成人久久久| 欧美电影美腿模特1979在线看 | 性刺激综合网| 亚洲已满18点击进入久久| 国产精品不卡在线| 午夜欧美理论片| 香蕉亚洲视频| 伊人久久成人| 免费亚洲电影| 欧美国产综合一区二区| 99精品免费网| 亚洲色诱最新| 国内精品国产成人| 欧美成人精品在线观看| 狼狼综合久久久久综合网 | 国产欧美丝祙| 老色鬼久久亚洲一区二区| 老牛国产精品一区的观看方式| 亚洲国产小视频在线观看| 亚洲国产中文字幕在线观看| 欧美日韩国产欧| 欧美一级视频| 免费观看在线综合| 国产精品99久久久久久有的能看 | 亚洲私拍自拍| 激情久久一区| 亚洲免费av观看| 国产亚洲精品综合一区91| 男女av一区三区二区色多| 欧美日韩高清一区| 久久精品国产一区二区电影| 久久精品国产一区二区三区| 亚洲精品一区二区三区99| 亚洲一区二区三区高清不卡| 国产综合色在线| 亚洲日本一区二区| 国产日韩欧美日韩| 亚洲三级色网| 国产专区欧美精品| 亚洲国产一区二区三区在线播| 国产女主播一区二区三区| 亚洲国产精品久久| 亚洲午夜国产一区99re久久| 尤物九九久久国产精品的分类| 日韩午夜av| 亚洲国产精品一区二区久| 亚洲婷婷免费| 日韩香蕉视频| 久久免费视频这里只有精品| 亚洲午夜精品久久久久久浪潮| 久久久蜜臀国产一区二区| 亚洲欧美亚洲| 欧美老女人xx| 免费观看在线综合| 国产精品一区2区| 亚洲精品黄网在线观看| 在线观看日韩| 香蕉久久夜色精品国产使用方法| 日韩午夜中文字幕| 欧美va亚洲va国产综合| 久久婷婷av| 国模私拍一区二区三区| 亚洲女女女同性video| 亚洲午夜av| 欧美区一区二| 亚洲三级观看| 亚洲日本视频| 另类人畜视频在线| 久久亚洲私人国产精品va| 国产精品视频专区| 亚洲影院色在线观看免费| 亚洲天堂免费在线观看视频| 欧美日韩久久久久久| 亚洲日本国产| 亚洲视频一区在线| 欧美日韩中文字幕| 99re66热这里只有精品4| 日韩视频―中文字幕| 欧美激情欧美狂野欧美精品| 亚洲第一在线综合网站| 91久久久久久| 欧美精品在线观看一区二区| 亚洲精品日日夜夜| 亚洲一区二区三区激情| 国产精品户外野外| 欧美亚洲日本网站| 免费看的黄色欧美网站| 亚洲丰满在线| 欧美福利视频在线| 中国成人黄色视屏| 久久av在线| 亚洲国产黄色| 欧美片第1页综合| 亚洲一品av免费观看| 欧美一级成年大片在线观看| 国产日韩精品一区二区三区| 久久精品国产99精品国产亚洲性色 | …久久精品99久久香蕉国产| 久久综合九色综合欧美狠狠| 亚洲大片在线观看| 亚洲无线一线二线三线区别av| 国产精品每日更新在线播放网址| 欧美在线欧美在线| 91久久黄色| 久久国产精品色婷婷| 亚洲国产精品久久人人爱蜜臀| 欧美日韩精选| 久久精品国产免费| 亚洲精品视频啊美女在线直播| 国产亚洲欧美日韩一区二区| 久久av一区二区| 亚洲国产日韩在线| 欧美一区二区精品久久911| 国产真实乱子伦精品视频| 欧美激情亚洲视频| 欧美主播一区二区三区| 亚洲国产成人精品久久| 亚洲欧美日韩中文视频| 亚洲国产另类 国产精品国产免费| 欧美午夜电影一区| 久久嫩草精品久久久精品一| 亚洲最新在线视频| 免费永久网站黄欧美| 亚洲午夜电影在线观看| 曰本成人黄色| 国产精品自拍网站| 欧美日韩精品一区二区三区四区| 欧美亚洲在线播放| 一区二区三区欧美在线| 欧美福利视频在线观看| 久久成人在线| 亚洲女ⅴideoshd黑人| 亚洲精品国产精品国自产观看浪潮 | 一区二区欧美精品| 欧美成人资源| 久久亚洲综合色| 欧美一区二区黄色| 亚洲一区二区伦理| 99国产精品一区| 亚洲国产精品成人|