BZOJ 1833 count 數字計數 數字DP

2021-08-02 09:23:36 字數 628 閱讀 2566

【description】

給定兩個正整數a和b,求在[a,b]中的所有整數中,每個數碼(digit)各出現了多少次。

【input】

輸入檔案中僅包含一行兩個整數a、b,含義如上所述。

【output】

輸出檔案中包含一行10個整數,分別表示0-9在[a,b]中出現了多少次。

【解題報告】

這道題很容易看出是乙個數字dp。其技巧主要在於判定以及輸出空格、回車符上。

#include

#include

#include

using namespace std;

long long a,b;

long long ans[10],f[20];

void res(long long x,long long pos)

void dp(long long x,int flag)

now=pos/=10;--i;

while(nowpos/=10;--i;

}}int main()

BZOJ1833 count 數字計數

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

BZOJ 1833 count 數字計數

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

BZOJ 1833 數字計數 數字DP

題目鏈結 做的第一道數字dp題,聽說是最基礎的模板題,但還是花了好長時間才寫出來。想深入了解下數字dp的請點這裡 先設dp陣列dp i j k 表示數字是i,以j開頭的數k出現的次數 有數字dp的題一般都會用到字首陣列,題目要求我們求b a這個區間裡各個數碼出現的次數,我們可以分別求出 0,b 和 ...