找順數 數字dp

2022-08-16 09:15:09 字數 588 閱讀 2558

輸出1到n中含有6的數的個數。

100

19
找規律感覺好難想(好像是什麼100以內有19個,200以內有19*2個,600以內115個,700以內214個...,1000以內有271,2000以內有2*271個),就直接套數字dp的模板了。

1 #include2 #include3 #include4

using

namespace

std;

5int dp[20][3];6

int digit[20];7

8int dfs(int pos,int sta,bool

limit)920

if(!limit) return dp[pos][sta]=ans;

21return

ans;22}

2324

int solve(int

x)25

31return dfs(len,0,true

);32}33

34int

main()

3542

return0;

43 }

鯧數 數字dp

設從低到高第 len 1le n 1 位的數字為 x x,考慮 x x 與後面 len len 位組成逆序對的貢獻,先考慮 x 1x 1 時的貢獻,為 len 10l enle n 10 len,其中每個數字出現的次數都相同,再考慮 x 0,9 x 0 9 貢獻變為 len 10l en x 10 ...

count 數字計數 (數字dp)

給定兩個正整數a和b,求在 a,b 中的所有整數中,每個數碼 digit 各出現了多少次。input 輸入檔案中僅包含一行兩個整數a b,含義如上所述。output 輸出檔案中包含一行10個整數,分別表示0 9在 a,b 中出現了多少次。sample input 1 99 sample output...

D windy數(數字dp模板)

windy定義了一種windy數。不含前導零且相鄰兩個數字之差至少為2的正整數被稱為windy數。windy想知道,在a和b之間,包括a和b,總共有多少個windy數?input 包含兩個整數,a b。output 乙個整數 sample input 輸入樣例一 1 10 輸入樣例二 25 50 s...