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

pku 3252

2009年10月29日 星期四

題目鏈接:PKU 3252 Round Numbers

分類:排列組合+區間計數

題目分析與算法原型
         這道題目總的來說不是太難,但是實現起來細節比較多,所以WA了好多次,大致思路是,給你的兩個數,start和end ,分別求出1到start,以及1到end之間(包括start和end自身)的round number 的個數,然后兩個相減一下,就差不多是要求的數,當然了還需判斷一下start是不是也是round number是的話剛才減的結果還要加1。假設現在給你的數是a,那么求1到a之間的round number可以分兩步來進行,先求出a在二進制下的位數m,然后求出1到m-1位的二進制數的round number的和(這個不難,只是排列組合的計算),第二步就是要加上,二進制位數為m但《=a的所有二進制數中round number的個數。其實可以這樣考慮,設一個二進制數為101001100,那么從100000000到其之間的round number的數的個數可以這樣考慮,從第二位開始左往右掃描,碰到為1的時候將其變為0,然后此位后的位數任意組合的數都肯定小于原來的數,枚舉這個情況下(先記下當前0和1的個數,方便計算剩下的位數組合中round number的數目)的round number數目,然后繼續掃描一直到最后。
        PS:此題代碼實現的有些繁瑣,有待改進..........

Code:


  1
#include<stdio.h>
  2int x[35];
  3int cal(int m,int a)
  4{
  5    int i,j=1,res=1;
  6    for(i=m-1;i>=m-a;i--)
  7    {
  8        res*=i;
  9        res/=j;
 10        j++;
 11    }

 12    return res;
 13}

 14int num(int m)
 15{
 16    int k,i,res=0;
 17    if(m%2==0)k=m/2;
 18    else k=m/2+1;
 19
 20    for(i=k;i<m;i++)res+=cal(m,i);
 21    return res;
 22}

 23int check(int n)
 24{
 25    int res=0,i,num=0,y[35];
 26    int nn=n;
 27    while(nn)
 28    {
 29        y[res++]=nn%2;
 30        nn/=2;
 31    }

 32    for(i=0;i<res;i++)
 33        if(y[i]==0)num++;
 34        else num--;
 35    
 36    if(num>=0)return 1;
 37    else return 0;
 38}

 39int weishu(int n)
 40{
 41    int res=0,y[35];
 42
 43    int nn=n;
 44    while(nn)
 45    {
 46        y[res++]=nn%2;
 47        nn/=2;
 48    }

 49    return res;
 50}

 51int jisuan(int n)
 52{
 53    int k,i,j,y[35],num=0;
 54
 55    int nn=n;
 56    while(nn)
 57    {
 58        y[num++]=nn%2;
 59        nn/=2;
 60    }

 61    k=num/2-1;
 62    for(i=0;i<=k;i++)
 63    {
 64        int t=y[i];
 65        y[i]=y[num-1-i];
 66        y[num-1-i]=t;
 67    }

 68    int num1=1,num0=0,ss,kk,res=0;
 69    for(i=1;i<num;i++)
 70    {
 71        if(y[i]==1)
 72        {
 73            num0++;
 74            ss=num-i-1;
 75
 76            if(ss+num1-num0<0)kk=0;
 77            else
 78            {
 79                if((ss+num1-num0)%2==0)kk=(ss+num1-num0)/2;
 80                else kk=(ss+num1-num0)/2+1;
 81            }

 82            if(kk<ss)
 83            {
 84                int mm,q,ii;
 85                for(ii=kk;ii<=ss;ii++)
 86                {
 87                    mm=1;
 88                    if(ii==0)res+=1;
 89                    else
 90                    {
 91                        q=1;
 92                        for(j=ss;j>ii;j--)
 93                        {
 94                            mm*=j;
 95                            mm/=q;
 96                            q++;
 97                        }

 98                        res+=mm;
 99                    }
    
100                }
    
101            }

102            else if(kk==ss)
103            {
104                res+=1;
105            }

106
107            num0--;
108            num1++;
109        }

110        else num0++;
111        
112        if(i==num-1&&num0>=num1)res++;
113    }

114    return res;
115}

116int main()
117{
118    int i,s,f;
119    x[1]=0;
120    for(i=2;i<=33;i++)x[i]=x[i-1]+num(i);
121    while(scanf("%d%d",&s,&f)!=EOF)
122    {
123        int a=weishu(s),b=weishu(f),ans=0,c,d;
124        c=jisuan(s);
125        c+=x[a-1];
126        d=jisuan(f);
127        d+=x[b-1];
128        ans=d-c;
129        if(check(s))ans++;
130        printf("%d\n",ans);
131    }

132    return 0;
133}

134

posted on 2009-10-29 16:06 蝸牛也Coding 閱讀(343) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

導航

統計

常用鏈接

留言簿(8)

隨筆檔案(78)

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            日韩一区二区免费高清| 欧美日韩三区| 玖玖综合伊人| 久久激情中文| 久久人人爽国产| 久久国产精品一区二区| 亚洲一区视频在线观看视频| 在线国产日韩| 亚洲日本中文字幕| 亚洲美女少妇无套啪啪呻吟| 亚洲乱码国产乱码精品精98午夜| 亚洲黄色视屏| 亚洲视频在线二区| 久久国产精品99久久久久久老狼| 亚洲日本一区二区| 亚洲美女视频在线观看| 日韩视频三区| 久久久精品国产一区二区三区| 久久久999精品免费| 欧美刺激性大交免费视频| 亚洲日本一区二区| 欧美中文日韩| 欧美区在线观看| 黄网动漫久久久| 午夜日韩av| 99国产麻豆精品| 欧美88av| 在线不卡a资源高清| 午夜在线精品偷拍| 亚洲精品在线免费观看视频| 午夜精品视频| 国产精品福利网| 亚洲午夜国产成人av电影男同| 欧美成人a∨高清免费观看| 性欧美办公室18xxxxhd| 欧美日韩国产综合新一区| 91久久精品国产91久久性色| 久久久999成人| 久久久青草婷婷精品综合日韩 | 午夜精品久久久久影视| 亚洲精品无人区| 欧美激情精品久久久久久变态| 曰韩精品一区二区| 免费成人黄色av| 久久午夜色播影院免费高清| 亚洲视频在线观看| 欧美视频在线免费| 午夜欧美电影在线观看| 亚洲欧美精品中文字幕在线| 欧美天堂亚洲电影院在线观看| 一区二区欧美激情| 午夜视频一区二区| 亚洲国产欧美日韩另类综合| 亚洲国产日本| 国产日韩欧美91| 亚洲日本在线观看| 国产亚洲欧美日韩日本| 最新亚洲视频| 国产一区二区毛片| 亚洲最新色图| 亚洲国产婷婷香蕉久久久久久99 | 久久精品72免费观看| 亚洲国产欧美在线| 午夜日韩在线| 亚洲男人的天堂在线aⅴ视频| 久久久久久亚洲综合影院红桃| 中日韩美女免费视频网站在线观看| 宅男噜噜噜66一区二区| 亚洲二区在线观看| 午夜精品影院| 久久夜色精品国产噜噜av| 韩国三级电影久久久久久| 一区二区三区四区国产精品| 亚洲精品中文字幕女同| 蜜臀久久99精品久久久画质超高清| 国产精品福利网站| 亚洲欧美激情精品一区二区| 国产精品国产福利国产秒拍| 红桃av永久久久| 亚洲国产国产亚洲一二三| 亚洲大片免费看| 欧美专区在线| 激情六月婷婷久久| 久久久视频精品| 狼人社综合社区| 国产精品久久久久久av福利软件| 久久久精品一区二区三区| 国产欧美亚洲精品| 亚洲一区免费| 久久国产日本精品| 韩国成人理伦片免费播放| 久久不射中文字幕| 亚洲国产一区二区三区青草影视| 在线激情影院一区| 欧美日在线观看| 亚洲一区二区在| 亚洲综合三区| 在线日韩av永久免费观看| 男同欧美伦乱| 午夜欧美精品久久久久久久| 久久国产色av| 一区二区三区四区蜜桃| 国产综合在线看| 国产精品一二一区| 欧美日韩第一页| 久久综合九九| 久久久久久久久岛国免费| 99国内精品久久| 亚洲欧洲精品一区二区三区波多野1战4 | 久久久精品国产免大香伊| 农村妇女精品| 快播亚洲色图| 久久xxxx| 国产精品入口夜色视频大尺度 | 亚洲国产cao| 午夜精品久久久久久久白皮肤| 9国产精品视频| 国产精品99久久久久久久女警 | 欧美成熟视频| 欧美国产日韩一区| 久久综合网hezyo| 久久精品一区二区| 另类图片国产| 欧美图区在线视频| 韩国成人福利片在线播放| 狠狠久久五月精品中文字幕| 悠悠资源网久久精品| 亚洲精品一线二线三线无人区| 一区二区精品在线| 午夜在线观看免费一区| 久久久久久**毛片大全| 亚洲国产精品久久久久婷婷884| 亚洲日韩欧美视频| 亚洲一区在线播放| 欧美a一区二区| 国产亚洲一区二区精品| 亚洲精品免费一二三区| 欧美影视一区| 亚洲另类春色国产| 美女日韩欧美| 激情欧美丁香| 久久免费观看视频| 亚洲免费中文字幕| 欧美护士18xxxxhd| 亚洲欧美在线磁力| 欧美视频免费看| 一区二区三区四区国产精品| 久久亚洲不卡| 欧美自拍丝袜亚洲| 国产色爱av资源综合区| 午夜精品视频在线观看一区二区| 亚洲精品久久久久| 欧美精品www在线观看| 最新中文字幕亚洲| 亚洲欧洲在线一区| 欧美激情一二三区| 亚洲精品视频在线播放| 亚洲第一福利社区| 欧美激情女人20p| 亚洲精一区二区三区| 亚洲激情欧美激情| 欧美日韩午夜在线| 久久国产乱子精品免费女 | 亚洲国产日韩欧美在线动漫| 久久久久久9| av成人天堂| 亚洲欧美精品在线观看| 国内在线观看一区二区三区| 免费看的黄色欧美网站| 欧美成人午夜激情| 亚洲视频一区二区| 欧美精品免费在线| 久久亚洲精品视频| 亚洲午夜日本在线观看| 欧美不卡视频一区| 欧美日本国产精品| 国产一区二区三区黄视频| 国产精品日韩久久久| 黄色一区二区在线| 欧美一级理论片| 欧美一区二区网站| 毛片av中文字幕一区二区| 欧美不卡视频| 欧美—级a级欧美特级ar全黄| 国产亚洲精品自拍| aa成人免费视频| 欧美一区二区三区四区视频| 久久国产精彩视频| 国产精品久久久久久亚洲调教 | 久久视频在线视频| 欧美在线网站| 久久se精品一区二区| 欧美视频在线观看 亚洲欧| 农村妇女精品| 尹人成人综合网| 久久久久国产一区二区三区四区| 亚洲一区二区三区色| 欧美天堂亚洲电影院在线观看| 亚洲国产欧美在线人成| 在线看日韩av|