csp-s105 T1 小W的魔術

字符串的題很頭疼spa

擅長打表繼承

考試想了將近2個小時字符串

想到了重複的長什麼樣子io

然而不會正確的加回來co

甚至加多了發現有各類重複字符

感受藥丸,,,換題ab

 

證實:

想了兩個小時

用總的-合法的

合法的有重複  噁心

設插入的串爲x

那麼全部插入後的串長這個樣子:

abcXsgd

abcsgXd

考慮重複的狀況,能夠掐頭去尾,變成Xsg和sgX相似的狀況

就是$a+b==b+a$

不妨設a+b==b+a成立此時重複   倒着推出重複的前提條件

[...........][...]                  [..][...........]

[...][...........]         OR    [...........][..]

其中的X串是插入的能夠任意設字母變化,剩下的是題目中給的串的一部分 是固定的

因爲設了$a+b==b+a$成立,因此至少有一種方案使得爲X安排字母使得$a+b==b+a$

那麼在原串的插入狀況中不只有Xsg ,  sgX  這種狀況  還會有 刪掉一個(把下面的X往前插一個的狀況)(Xs,sX)

因爲原先有方案合法那麼刪掉一個的狀況下必定能夠合法(由於X能夠自由安排)

:[...........][...]

 [...][...........] 因爲合法  那麼中間部分相同  左右兩側X的部分是繼承固定串的,刪掉一個後依然有繼承能力

那麼a+b==b+a重複的話說明a+一個長度爲1的串(字母)==字母+b

  [...........][...]          [...........][.]

  [...][...........]   - >   [.][...........]

因此a+b==b+a的前提是a+字母==字母+b

那麼要知足X的首字母等於這個字母

即:X的首字母==X插入後X的後一個字母

這就是發生重複串的前提條件。

如何避免

1.先都加上  最後減去

2.考慮加的時候少加一個(提早預知後方有串能夠和準備加的重複時不加了)

第一種容易發現難以求出(也許根本不能

第二種狀況下因爲每一次提早預知不加  $a=b=c$  預知$a=b$, $a$不加  $b=c$  $b$不加  能夠解決連等多重複問題,很優秀

那麼由得出的前提條件能夠提早預知

X的首字母是能夠隨便安排的,因此只要後邊有字母  X的首字母就不能填那一個(預知,不加)。

其他位置隨便填  因此X的內部方案$25*26^{n-|s|-1}$   能夠插在$|s|$個位置(不是$|s|+1$由於插在最後後邊沒有字母)

因此合法方案數爲$25*26^{n-|s|-1}*|s|+26^{n-|s|}$;

用總的減去

答案:$26^{n}-   |s|*25*26^{n-|s|-1}  -   26^{n-|s|}$;

相關文章
相關標籤/搜索