1 条题解

  • 0
    @ 2026-9-9 8:55:58

    题解

    思路

    N≤3N\le3 时答案恒为 1。

    做法

    先考虑 cAB=Bc_{\mathrm{AB}}=\texttt{B}:若 cBB=Bc_{\mathrm{BB}}=\texttt{B},始终只有一个字符串;否则若 cBA=Ac_{\mathrm{BA}}=\texttt{A},恰能得到所有以 AB 开头、以 B 结尾的字符串,答案为 2N−32^{N-3};若 cBA=Bc_{\mathrm{BA}}=\texttt{B},可达字符串还要求不含连续两个 A,数量满足初值均为 1 的 Fibonacci 递推,答案为 FN−2F_{N-2}。

    当 cAB=Ac_{\mathrm{AB}}=\texttt{A} 时,同时交换 A/B 并反转字符串即可化为前一种情况,此时分别检查 cAAc_{\mathrm{AA}} 与 cBAc_{\mathrm{BA}}。

    复杂度

    预处理 Fibonacci 并快速幂即可,时间复杂度为 O(N+log⁡N)O(N+\log N),空间复杂度为 O(N)O(N)。

    • 1

    信息

    ID
    1538
    时间
    2000ms
    内存
    1024MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者