1583 PAT 計數 (狀態機DP)

2021-10-10 11:31:18 字數 917 閱讀 1782

第乙個子串由第二,第四和第六個字元組成,第二個子串由第三,第四和第六個字元組成。

現在給定乙個字串,請你求出字串中包含的 pat 的數量。

輸入格式

共一行,包含乙個由大寫字母 p,a,t 構成的字串。

輸出格式

輸出字串中包含的 pat 的數量。

由於結果可能很大,請你輸出對 1000000007 取模後的結果。

資料範圍

給定字串的長度不超過 105。

題解dp[i][j] 表示只考慮前i個字母並且走到了狀態j的所有路線的數量。

dp[i][j]

mod =

int(

1e9+7)

s =input()

s =" "

+ sp =

" pat"

f =[[0

]*(len

(p))

for i in

range

(len

(s))]f[

0][0

]=1for i in

range(1

,len

(s))

:for j in

range

(len

(p))

: f[i]

[j]= f[i -1]

[j]if s[i]

== p[j]

: f[i]

[j]=

(f[i]

[j]+ f[i -1]

[j -1]

)% mod

print

(f[len

(s)-1]

[len

(p)-1]

)

科學計數法 PAT

科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分只有 1 位,小數部分至少有 1 位,該數字及其指數部分的正負號即使對正數也必定明確給出。現以科學計數法的格式給出實數 a,請編寫程式按普通數字表示法輸出 a,並保證所有有效位都...

PAT練習 科學計數法

科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分 只有1位,小數部分至少有1位,該數字及其指數部分的正負號即使對正數也必定明確給出。現以科學計數法的格式給出實數a,請編寫程式按普通數字表示法輸出a,並保證所有有效位都被保留。每...

PAT 乙級1024 科學計數法

科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分只有 1 位,小數部分至少有 1 位,該數字及其指數部分的正負號即使對正數也必定明確給出。現以科學計數法的格式給出實數 a,請編寫程式按普通數字表示法輸出 a,並保證所有有效位都...