hdu2089 不要62 數字dp

2022-05-20 09:48:08 字數 580 閱讀 9170

題目描述

求 $[n,m]$ 內不包含數字串 「4」 和 「62」 的數的個數。

輸入輸入的都是整數對n、m(0輸出

對於每個整數對,輸出乙個不含有不吉利數字的統計個數,該數值佔一行位置。

樣例輸入

1 100

0 0樣例輸出

題解數字dp

設 $f[i][j]$ 表示 $i$ 位數,最高位為 $j$ ,且不出現數字串 「4」 和 「62」 的數的個數。

那麼直接列舉上一位,根據是否構成非法串進行轉移。

然後對於每組詢問轉化為 $[1,a)$ 的區間相減,每個區間進行數字dp,先計算位數不滿的,再從高位到低位列舉,當前位如果小於 $a$ 的這一位則一定滿足區間條件。如果這一位和上一位不構成 「62」 則統計到答案中。

注意當上一位與當前位組成「62」時及時跳出迴圈。

(貌似本題暴力可過?...)

#include int f[8][10] , b[8];

void init()

}int calc(int n)

return ans;

}int main()

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 表示不存在不吉利數字,且最...