日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU 2089 不要62 数位DP

發布時間:2024/4/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU 2089 不要62 数位DP 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  題目鏈接:?http://acm.hdu.edu.cn/showproblem.php?pid=2089

  題目描述: 給定一個區間, 讓你求這個區間中所有不帶62 或 4 的數的個數

  解題思路: 很明顯的數位DP, 統計個數, f(i) 表示 0 ~ i 的滿足條件的數的個數, 那么最后答案就是f(r) - f(l)。 給出一個數位DP模板的詳解, 解釋的很詳細很清楚

      轉自:http://www.cnblogs.com/xz816111/p/4809913.html

// pos = 當前處理的位置(一般從高位到低位) // pre = 上一個位的數字(更高的那一位) // status = 要達到的狀態,如果為1則可以認為找到了答案,到時候用來返回, //    給計數器+1。 // limit = 是否受限,也即當前處理這位能否隨便取值。如567,當前處理6這位, //    如果前面取的是4,則當前這位可以取0-9。如果前面取的5,那么當前 //    這位就不能隨便取,不然會超出這個數的范圍,所以如果前面取5的 //    話此時的limit=1,也就是說當前只可以取0-6。 // // 用DP數組保存這三個狀態是因為往后轉移的時候會遇到很多重復的情況。 int dfs(int pos,int pre,int status,int limit) {//已結搜到盡頭,返回"是否找到了答案"這個狀態。if(pos < 1)return status;//DP里保存的是完整的,也即不受限的答案,所以如果滿足的話,可以直接返回。if(!limit && DP[pos][pre][status] != -1)return DP[pos][pre][status];int end = limit ? DIG[pos] : 9;int ret = 0;//往下搜的狀態表示的很巧妙,status用||是因為如果前面找到了答案那么后面//還有沒有答案都無所謂了。而limti用&&是因為只有前面受限、當前受限才能//推出下一步也受限,比如567,如果是46X的情況,雖然6已經到盡頭,但是后面的//個位仍然可以隨便取,因為百位沒受限,所以如果個位要受限,那么前面必須是56。////這里用"不要49"一題來做例子。for(int i = 0;i <= end;i ++)ret += dfs(pos - 1,i,status || (pre == 4 && i == 9),limit && (i == end));//DP里保存完整的、取到盡頭的數據if(!limit)DP[pos][pre][status] = ret;return ret; } 數位DP模板詳解

      然后再來說這道題, 我們dfs函數用三個參數來表示已知, 一個是進行到第幾位這是肯定的, 還有一個是上一位是不是為6, 因為如果上一位為6, 那么當前為就不能為2, 還有一個參數就是limit, 用來限制不超過數i的.....

      dfs(int len, int isSix, int limit); 數位DP都是從高位到低位, 因為這樣可以發揮limit(枚舉前一位是否等于處理的i的前一位)的作用,如果說枚舉的前一位小于i的前一位, 那么下一位就隨便取(0 ~ 9), 但是如果等于的話, 就只能取0 ~ digit[len]的數, 到了digit[len]還會面臨相同的問題, 以此類推......吃完飯來寫一下這道題.......吃完啦, 開始學習

  代碼:?

#include <iostream> #include <cstdio> #include <string> #include <vector> #include <map> #include <cstring> #include <iterator> #include <cmath> #include <algorithm> #include <stack> #include <deque> #include <map>#define lson l, m, rt<<1 #define rson m+1, r, rt<<1|1 typedef long long LL; using namespace std; const int maxn = 70000+10; int digit[8]; int dp[8][2];int dfs( int len, int isSix, int limit ) {if( !len ) return 1;if( !limit && dp[len][isSix] != -1 ) {return dp[len][isSix];}int ret = 0;int tlimit = limit ? digit[len] : 9;for( int i = 0; i <= tlimit; i++ ) {if( i == 4 ) continue;if( isSix && i == 2 ) continue;ret += dfs( len-1, i == 6, limit && i == tlimit );}if( !limit ) dp[len][isSix] = ret;return ret; } int fun( int n ) {int cnt = 0;while( n ) {digit[++cnt] = n % 10;n /= 10;}return dfs( cnt, 0, 1 ); }int main() {int l, r;while( scanf("%d%d", &l, &r) != EOF ) {if( l == 0 && r == 0 ) break;memset(dp, -1, sizeof(dp));printf( "%d\n", fun(r) - fun(l-1) );}return 0; } View Code

  思考: 以前仔細看過數位DP的代碼, 但是今天講課的時候發現又忘了, 剛才又寫了一遍, 挺順的, 以后多多多多復習吧

?

轉載于:https://www.cnblogs.com/FriskyPuppy/p/7324744.html

總結

以上是生活随笔為你收集整理的HDU 2089 不要62 数位DP的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 自拍偷拍福利视频 | av不卡免费在线 | 欧美亚洲二区 | 成人免费性生活视频 | 怡红院亚洲 | 亚洲欧美激情另类校园 | 最新国产三级 | 国产成人精品一区二区三区在线观看 | 亚洲影视精品 | 成人性生生活性生交全黄 | 在线色导航 | 国产美女特级嫩嫩嫩bbb | 精品国产一区二区三区四区阿崩 | 99久久精品国产成人一区二区 | 亚洲黄色免费看 | 国产又粗又猛又色又 | 91精品国 | 欧美一级视频在线观看 | 口爆吞精一区二区三区 | 久久久久久久网 | 欧美日韩在线观看一区二区三区 | 欧美一区二区视频在线观看 | 青青草国产一区二区三区 | 色美av| 亚洲视频国产精品 | 国产精品入口麻豆 | 国产免费一区二区三区四区五区 | 在线播放中文字幕 | 91av在线免费视频 | 精品人妻少妇嫩草av无码专区 | 国产精品久久久久久免费 | 亚洲五月婷 | 欧美大片xxx | 亚洲天堂av在线播放 | 少妇姐姐 | 亚洲综合伊人久久 | 久久盗摄 | 欧美综合在线一区 | 一级少妇女片 | 久久精品大片 | 4438x全国最大成人 | 亚洲av无码久久忘忧草 | 日韩女同互慰一区二区 | 国产精品区一区二区三 | 色综合99| 精品日本视频 | 五月天激情丁香 | 黄色xxxxxx| 人妻av无码一区二区三区 | 久久一区二区三区四区五区 | 麻豆网站在线观看 | 久久国产香蕉视频 | 在线中文字幕观看 | 久久精品国产av一区二区三区 | 亚洲一区中文字幕在线观看 | 人妖一级片 | 国产精品一区二区三区四 | 国产婷婷色一区二区三区 | a久久久久 | 日韩精品片 | 欧美人与性囗牲恔配 | 亚洲精品www久久久久久 | 青青草青青操 | 91免费国产在线观看 | 欧美日韩少妇精品 | 花房姑娘免费观看全集 | 污网站免费观看 | 成人福利社| 午夜动态图| 午夜视频一区二区三区 | 亚洲区小说区 | 边添小泬边狠狠躁视频 | 亚洲av成人片色在线观看高潮 | 熟妇人妻无乱码中文字幕真矢织江 | 欧美在线高清 | 人妻精品一区二区三区 | 老熟妇一区二区 | 欧美色就是色 | 午夜污污 | 97色伦图片 | 日韩avav| 成人免费入口 | 婷婷成人综合网 | 手机在线观看av片 | 国产免费大片 | 毛片网络| 国产三级短视频 | 毛片一区 | 色网站免费在线观看 | 日韩福利在线视频 | 欧美日韩免费在线视频 | 欧美成人r级一区二区三区 中文无码一区二区三区在线观看 | 捆绑japanhdxxxxvideos| 能在线看的av | 少妇人妻真实偷人精品视频 | 欧美久久一区二区 | 国产99久久久国产精品免费看 | 国产成人精品亚洲 | 国产伦理一区二区三区 |