不要62(數字DP)

2021-06-28 12:14:14 字數 1774 閱讀 5052

description

杭州人稱那些傻乎乎粘嗒嗒的人為62(音:laoer)。

杭州交通管理局經常會擴充一些的士車牌照,新近出來乙個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別的士司機和乘客的心理障礙,更安全地服務大眾。

不吉利的數字為所有含有4或62的號碼。例如:

62315 73418 88914

都屬於不吉利號碼。但是,61152雖然含有6和2,但不是62連號,所以不屬於不吉利數字之列。

你的任務是,對於每次給出的乙個牌照區間號,推斷出交管局今次又要實際上給多少輛新的士車上牌照了。

input

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

output

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

sample input

1 100

0 0

sample output

80 

#include#include#include#include#define lson l,m,rt <<1

#define rson m+1,r,rt << 1 | 1

#define inf 0x3f3f3f3f

int dir4[4][2]= ,,,};

int dir8[8][2]= ,,,,,,,};

int dir_8[8][2]= ,,,,,,,};

using namespace std;

int dp[10][3];

void init() //預處理,算出所有可能

}int solve(int x)

digit[cnt+1]=0;

int flag=0,ans=0;

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

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

flag=1;

}return x-ans; //所有的數減去不吉利的數

}int main()

return 0;

}

另附一種暴力預處理法:

string 類提供了 6 種查詢函式,每種函式以不同形式的 find 命名。這些操作全都返回 string::size_type 型別的值,以下標形式標記查詢匹配所發生的位置;或者返回乙個名為 string::npos 的特殊值,說明查詢沒有匹配。string 類將 npos 定義為保證大於任何有效下標的值。

比如:string str;

pos=str.find_first_of("h");

if(pos!=string::npos)

} //npos是乙個常數,用來表示不存在的位置,型別一般是std::container_type::size_type 

//許多容器都提供這個東西。取值由實現決定,一般是-1,這樣做,就不會存在移植的問題了。npos表示string的結束位子,

//是string::type_size 型別的,也就是find()返回的型別。

#include#include#include#includeusing namespace std;

int n,m;

int lucky[1000010];

void init()

}int main()

return 0;

}



DP 數字 DP 不要62

水一篇題解。掌握了數字 dp 的套路之後,10分鐘就可敲出這道題目。題目 不要62 做法 動態規劃 狀態表示 f i j f i j f i j 表示 i ii 位數,最高位是 j jj 的合法數字個數。預處理 只要不含4並且相鄰兩位不是6 2即可累加 狀態轉移步驟 1 不選最大可填數時 累加 2 ...

不要62 (數字dp)

杭州人稱那些傻乎乎粘嗒嗒的人為62 音 laoer 杭州交通管理局經常會擴充一些的士車牌照,新近出來乙個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別的士司機和乘客的心理障礙,更安全地服務大眾。不吉利的數字為所有含有4或62的號碼。例如 62315 73418 88914 都屬...

不要62(數字dp)

杭州人稱那些傻乎乎粘嗒嗒的人為62 音 laoer 杭州交通管理局經常會擴充一些的士車牌照,新近出來乙個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別的士司機和乘客的心理障礙,更安全地服務大眾。不吉利的數字為所有含有4或62的號碼。例如 62315 73418 88914 都屬...