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

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 互聯(lián)網(wǎng) > [數(shù)位dp] spoj 10738 Ra-One Numbers

[數(shù)位dp] spoj 10738 Ra-One Numbers

來源:程序員人生   發(fā)布時間:2014-10-06 08:00:01 閱讀次數(shù):2553次

題意:給定x、y,為[x,y]之間有多少個數(shù)的偶數(shù)位和減去奇數(shù)位和等于一。

個位是第一位。

例子: 10=1-0=1 所以10是這樣的數(shù)

思路:數(shù)位dp[i][sum][ok] i位和為sum 是否含有前導0.

然后就是因為有負數(shù) 所以根據(jù)范圍把0設置為100 然后最后和等于101則為所求的數(shù)。

代碼:

[cpp] view plaincopyprint?在CODE上查看代碼片派生到我的代碼片
  1. #include"cstdlib" 
  2. #include"cstdio" 
  3. #include"cstring" 
  4. #include"cmath" 
  5. #include"stack" 
  6. #include"algorithm" 
  7. #include"iostream" 
  8. using namespace std; 
  9. int dp[12][200][2],num[12]; 
  10. int fuck[2]={1,-1}; 
  11. int dfs(int site,int sum,int ok,int f) 
  12.     if(site==0) 
  13.     { 
  14.         if(ok==0) return 0; 
  15.         return sum==101?1:0;  //小處理 和為101 
  16.     } 
  17.     if(!f&&dp[site][sum][ok]!=-1) return dp[site][sum][ok]; 
  18.     int len=f?num[site]:9; 
  19.     int ans=0; 
  20.     for(int i=0;i<=len;i++) 
  21.     { 
  22.         if(ok==0) 
  23.         { 
  24.             if(i==0) ans+=dfs(site-1,sum,ok||i!=0,f&&i==len); 
  25.             else ans+=dfs(site-1,sum+i*fuck[site%2],ok||i!=0,f&&i==len); 
  26.         } 
  27.         else 
  28.         { 
  29.             ans+=dfs(site-1,sum+i*fuck[site%2],ok||i!=0,f&&i==len); 
  30.         } 
  31.     } 
  32.     if(!f) dp[site][sum][ok]=ans; 
  33.     return ans; 
  34. int solve(int x) 
  35.     if(x<0) return 0; 
  36.     int cnt=0; 
  37.     while(x) 
  38.     { 
  39.         num[++cnt]=x%10; 
  40.         x/=10; 
  41.     } 
  42.     return dfs(cnt,100,0,1);  //進入的時候 sum=100 
  43. int main() 
  44.     int t; 
  45.     scanf("%d",&t); 
  46.     memset(dp,-1,sizeof(dp)); 
  47.     while(t--) 
  48.     { 
  49.         int x,y; 
  50.         scanf("%d%d",&x,&y); 
  51.         printf("%d ",solve(y)-solve(x-1)); 
  52.     } 
  53.     return 0; 

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲国产精品综合欧美 | 国产精品毛片无码 | 亚洲伊人久久大香线蕉在观 | 中文字幕视频在线免费观看 | 久久精品视频9 | 国产日韩欧美综合一区二区三区 | 成人精品久久 | 久久久久欧美激情 | 69热视频| 亚洲国产一区二区在线 | 亚欧成人乱码一区二区 | 亚洲午夜精品久久久久久成年 | 岛国一区 | 亚洲二区在线视频 | 国产午夜精品不卡视频 | 在线婷婷 | 福利视频一二三在线视频免费观看 | 大胆国模一区二区三区伊人 | 中文字幕一级 | 欧美激情精品久久久久久久久久 | 精品成人一区二区 | 久草干| free 英国性xxxxhd | 一区二区三区不卡视频 | 高清不卡一区二区三区 | 欧美俄罗斯一级毛片 | 国产永久高清免费动作片www | 内部片免费一区 | 毛色毛片免费看 | 91精品国产亚洲爽啪在线影院 | 亚洲人成77777在线播放网站不卡 | 久久永久免费视频 | 欧美日韩亚洲一区二区精品 | 欧美一区二区三区不卡视频 | 亚洲在线观看一区 | 精品国产一区二区二三区在线观看 | 日本一级黄色毛片 | 碰在线公开超 | 日韩欧美亚州 | 最新日本一级中文字幕 | 国产品精人成福利视频 |