遞推 構造字串

2021-07-26 06:20:06 字數 1275 閱讀 9544

problem description

umr 閒來無聊玩起了自己的名字,現在的她想知道對於給定的長度 n,只用自己的 『u』, 『m』, 『r』 這 3 個字元最多能構成多少種不同的字串。但是因為 umr 並不喜歡 mm ,所以 mm 是不能連在一起的。

input

輸入資料有多組(資料組數不超過 100000),到 eof 結束。

每組輸入乙個整數 n (1 <= n <= 100000),表示 umr 想要構成的字串長度。

output

對於每組資料,輸出乙個整數,表示 umr 只用 『u』, 『m』, 『r』 這 3 個字元並且 mm 不能連在一起的最多能構成多少種不同的長度為 n 的字串的個數(因為結果可能很大,請輸出對 1000000007 取模之後的結果)。

example input

1 2

233example output

3 8

546261695

hint

用a[n]表示長度為n的方案數, 對於當前第n個數有3種情況:

1、第n個數是u, 此時有a[n-1]種情況

2、第n個數是r, 此時有a[n-1]種情況

3、第n個數是m, 即第n-1個數只能是u或者r,

此時有a[n-2]種情況

author

「2023年寒假集訓 結訓賽1」umr

#include 

#define maxn 100004

#define mod 1000000007

int main()

while(scanf("%d", &x) != eof)

return 0;

}/*****

*****

*****

*****

*****

*****

*****

*****

*****

******

user name: jk160630

result: accepted

take time: 48ms

take memory: 884kb

submit time: 2017-01-19 08:51:34

*****

*****

*****

*****

*****

*****

*****

*****

*****

*******/

cug1692 構造字串

題目大意 乙個字串有a,b組成,告訴你 a b ab ba 的數量s a s b s ab s ba 求字典序最小的字串 無解輸出 1。思路 首先若ab和ba的差大於1,則無解。其次,若s a s ab s ba 且 s b s ab s ba 則無解。當s ab s ba 都為0但s a 和s b...

擴充套件 String類 構造字串

程式清單16.1使用了string的7個建構函式 用ctor標識,這是傳統c 中建構函式的縮寫 表16.1簡要的描述了這些建構函式。使用建構函式時都進行了簡化,即隱藏了這樣乙個事實 string實際上是模板具體化basic string的乙個typedef,同時省略了與記憶體管理相關的引數。size...

c語言 用鍊錶構造字串

今天乙個同學問我怎麼用鍊錶構造字串 然後我簡單的說了下思路 不過他還是沒寫出來 因為資料結構在講字串的時候,老師主要講了順序構造字串 鏈式構造字串缺點太多 自己也沒有看 然後自己今天寫了一下 支援動態擴充套件 主檔案 include include liststring.h int main cha...