多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > HDU 4588 Count The Carries (2013年南京邀請賽)

HDU 4588 Count The Carries (2013年南京邀請賽)

來源:程序員人生   發布時間:2015-01-28 08:59:01 閱讀次數:2580次

題目地址:HDU 4588

這題是學長跟我說的1道數位DP。。然后我就按著數位DP去做的,倒是寫出來了,但是1直TLE。。后來用類似找規律的方法解出來了。。

首先這題其實就是求每位上總共有多少個1,然后不斷從低位開始向高位進位。

方法是比如2進制為1010010的這個數,就能夠拆成1000000+10000+103個數,然后從0到111111就是0和1的1個全排序,那末每位上的1的個數總和1定是占1半,然后首位+1,那末10000也能夠這樣算,然后累加起來就行了。但是還要注意的是,首位的1不只是1000000的時候+1,還有后面的也要加上,所以直接從低位開始枚舉,并設置1個變量不斷累加就好了。

代碼以下:

#include <iostream> #include <string.h> #include <math.h> #include <queue> #include <algorithm> #include <stdlib.h> #include <map> #include <set> #include <stdio.h> using namespace std; #define LL __int64 #define pi acos(⑴.0) const int mod=100000000; const int INF=0x3f3f3f3f; const double eqs=1e⑻; int c[40], d[3][40], sum[103]; LL Cal(LL x, int f) { int i, cnt=0, j; LL ans=0; while(x){ c[cnt++]=(x&1); x>>=1; } for(i=0;i<cnt;i++){ if(c[i]){ d[f][i]+=ans+1; for(j=0;j<i;j++){ d[f][j]+=(1<<i⑴); } ans+=(1<<i); } } } int main() { LL a, b, i, ans; while(scanf("%I64d%I64d",&a,&b)!=EOF){ memset(sum,0,sizeof(sum)); memset(d,0,sizeof(d)); Cal(b, 0); if(a) Cal(a⑴, 1); ans=0; for(i=0;i<35;i++){ sum[i]=d[0][i]-d[1][i]; //printf("%I64d ",sum[i]); } sum[0]>>=1; ans=sum[0]; //printf("%I64d ",ans); for(i=1;i<=100;i++){ sum[i]+=sum[i⑴]; sum[i]>>=1; ans+=sum[i]; //printf("%I64d ",ans); } printf("%I64d ",ans); } return 0; }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲另类天堂 | 日本大臿亚洲香蕉大片 | 综合亚洲精品一区二区三区 | 欧美韩日国产 | 日本三级午夜理伦三级三 | 欧美日一区 | 久久国产精品一区二区三区 | 国内视频一区二区三区 | 国产欧美成人不卡视频 | ff性欧美 | 国产欧美高清 | 成人免费体验区福利云点播 | 国产日韩久久 | 日本欧美一区二区三区免费不卡 | 亚洲另类图区 | 久久一本一区二区三区 | 337p粉嫩日本大胆艺术 | 波多野结衣国产精品 | 999毛片免费 | 亚洲国产精品久久久久久 | 亚洲精品一区二区三区国产 | 国产做人爱三级视频在线 | 日本欧美一区二区三区免费不卡 | 日本一区二区视频免费播放 | 成片免费观看视频在线网 | 老司机午夜精品网站在线观看 | 伊人福利在线 | 国产成人精品一区二区三区 | 亚洲精品欧美精品一区二区 | 国产精品人成人免费国产 | 精品国产一区二区三区不卡在线 | 男女免费在线视频 | 日本一区二区三区免费看 | 日本免费性| 日韩免费网站 | 日本欧美一区二区三区片 | 国内精品久久久久久影院8f | 成人免费一区二区三区在线观看 | 免费簧网站永久在线播放国产 | 顶级欧美做受xxx000 | 最近中文字幕国语完整在线5 |