hdu2089不要62(數字dp)

2021-07-11 21:41:52 字數 611 閱讀 3405

這個題目我寫了兩天,剛開始按照固定套路dp【i】【j】表示i位數,j為首位,然後先求不吉利的,然後再摳掉,後來發現很麻煩,然後想那就直接正著求算了,然後j表示末位,表很容易打出來了,然而查的時候一臉懵逼,沒辦法後來參照了別人的部落格,詳見寫的真好,下面**有講解

#include 

#include

using

namespace

std;

int dp[20][20];

int digit[20];

//dp[i][0]表示不含不吉利的數字

//dp[i][1]表示首位為2,不含不吉利的數字

//dp[i][2]表示含不吉利的數字

void init()//打表

}int solve(int x)

for(int i=cnt; i>0; i--)

}if(digit[i]==4||(digit[i+1]==6&&digit[i]==2))//當前位是4或者上一位是6,當前位是4的,標記一下

flag=1;

}return x-sum;

}int main()

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