[ARC059F] Unhappy Hacking

cxqghzj發表於2024-04-01

題意

一個打字機,有 \(1, 0\)\(B\)

其中 \(B\) 代表退格。

求操作長度為 \(n\),能打出字串 \(s\) 的方案數。

\(n \le 5 \times 10 ^ 3\)

Sol

我有一個 \(O(n \log n)\) 的做法。

但是還沒調出來,先鴿了。

考慮 \(f_{i, j}\) 表示現在操作長度為 \(i\),匹配了 \(j\) 位。

不難發現:

\[f_{i, j} = \begin{cases} 2 \times f_{i - 1, j + 1}\\ f_{i - 1, j - 1} \end{cases} \]

做完了。

相關文章