HDU2089 不要62 數字DP

2021-07-05 23:24:54 字數 496 閱讀 6590

題目大意:給乙個區間[n,m](1e7的範圍),找出區間內不含62(連續的6和2)和4的數有多少個。

分析:數字dp,我們用f[i,st]來表示以st開頭的符合題意的i位數的個數,對於每一次詢問,分別統計[1,n]和[1,m+1]內的數,然後相減即可。

實現**如下:

//數字dp,統計區間[n,m]內不含62和4的數的個數

#include #include #include using namespace std;

const int m=1e7+2;

int f[8][10];

int ans[m+1];

void init()

int dig[10],len; //從右到左紀錄x的每一位

void change(int x)

dig[len]=0;

}int solve(int x)

return 0;

}

HDU2089 不要62 數字DP

problem description 杭州人稱那些傻乎乎粘嗒嗒的人為62 音 laoer 杭州交通管理局經常會擴充一些的士車牌照,新近出來乙個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別的士司機和乘客的心理障礙,更安全地服務大眾。不吉利的數字為所有含有4或62的號碼。例如 ...

Hdu2089 不要62 數字dp

include includeint dp 10 3 dp i 0 為位數小於等於i且不含62也不含4的數字的個數 dp i 1 為位數為i且首位為2且不含62也不含4的數字的個數 dp i 2 為位數小於等於i且含62或4的數字的個數 int digit 10 void er int wei in...

hdu 2089 不要62 (數字dp)

思路 用變數記錄吉利數,和最高位為2的吉利數還有不是吉利數的個數。code include include includeusing namespace std int dp 10 3 dp i j i表示位數,j表示狀態 dp i 0 表示不存在不吉利數字 dp i 1 表示不存在不吉利數字,且最...