[ARC108D] AB

题意

每次操作可以:

  • \(s_i = A\)\(s_i + 1 = A\),则插入字母 \(c_{AA}\)
  • \(s_i = A\)\(s_i + 1 = B\),则插入字母 \(c_{AB}\)
  • \(s_i = B\)\(s_i + 1 = A\),则插入字母 \(c_{BA}\)
  • \(s_i = B\)\(s_i + 1 = B\),则插入字母 \(c_{BB}\)

初始 \(s = AB\),求 \(n - 2\) 次操作后 \(s\) 的方案数。

\(n \le 10 ^ 3\)

Sol

注意到 \(s\) 的初值很特殊,只能进行一次 \(AB\) 操作。

分类讨论,若 \(AB = B, BB = B\) 那么显然字符串只会有一种情况。

\(AB = B, BB = A, BA = B\),考虑添加的过程,发现要么在字符串左边添加一个 \(B\),要么添加一个 \(BA\),因此 \(f_i = f_{i - 1} + f_{i - 2}\)

\(AB = B, BB = A, BA = A\),同理,发现要么添加一个 \(A\),要么添加一个 \(B\),因此答案为 \(2 ^ {n - 3}\)

\(AB = A\) 时同理,做完了。

posted @ 2024-09-09 17:17  cxqghzj  阅读(6)  评论(0编辑  收藏  举报