HDU 2089 不要62 數字DP

2021-08-22 07:16:25 字數 758 閱讀 4058

hdu:2089

題意:給乙個區間,把乙個區間內所有4,和62的數字給除去了

思路:用數字dp做題,dp[i][j]中的i表示第i位數,j表示當前值的數

例如:dp[2][2],代表20的值,dp[4][3]則代表3000的值

由此

我們可以推出公式dp[i][j]=dp[i-1][k];     高位的數會等於所有低位的數之和

如遇到當前為4,或者當前為6而低位為2的時候則跳過不計數

一開始我們拿到的n我們需要將其分解開來分別儲存進d[i],從高位往遍歷一次d[i],若遇到4或者這次為2,前乙個為6,到此後面的數都是不滿足的,所以可以直接跳出迴圈

**:

#includeusing namespace std;

int dp[20][10];

int d[100];

void init()

}} }

}int solve(int n)

d[len+1]=0;

for(int i=len;i>=1;i--)

} if(d[i]==4 || (d[i+1]==6 && d[i]==2))

break;

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