[ARC059F] Unhappy Hacking
题意
一个打字机,有 \(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}
\]
做完了。