Variety of Strings

2 secs 1024 MB
sepa38's icon sepa38

まず、操作 22 のみ行うことを考えます。 操作 22 は何度でも行えるので、 SS の奇数番目の文字同士、偶数番目の文字同士を自由に並び替えることができます。

ここで、\\ SS の奇数番目の文字のうち、"a" の個数を a,a, "b" の個数を b,...,b, ..., "z" の個数を zz とおくと、奇数番目の文字の並び替えは N2a!b!z!\displaystyle \frac{\lceil \frac{N}{2} \rceil}{a! \cdot b! \cdots z!} \\ SS の偶数番目の文字のうち、"a" の個数を A,A, "b" の個数を B,...,B, ..., "z" の個数を ZZ とおくと、偶数番目の文字の並び替えは N2A!B!Z!\displaystyle \frac{\lfloor \frac{N}{2} \rfloor}{A! \cdot B! \cdots Z!} \\ となります。

これらは互いに独立であるため、操作 11 を行わないときの SS の並び替えは N2a!b!z!×N2A!B!Z!\displaystyle\frac{\lceil \frac{N}{2} \rceil}{a! \cdot b! \cdots z!} \times \frac{\lfloor \frac{N}{2} \rfloor}{A! \cdot B! \cdots Z!} 通りです。

さて、S1,S2S_1, S_2 に操作 11 を行うことを考えます。\\ S1=S_1 = "a" ,S2=, S_2 = "b" であるとき、上の式は

N2(a1)!(b+1)!z!×N2(A+1)!(B1)!Z!\displaystyle\frac{\lceil \frac{N}{2} \rceil}{(a - 1)! \cdot (b + 1)! \cdots z!} \times \frac{\lfloor \frac{N}{2} \rfloor}{(A + 1)! \cdot (B - 1)! \cdots Z!}

のようになります。

なお、これは i,i+1i, i+1 の偶奇に則っているため、\\ S2=S_2 = "a" ,S3=, S_3 = "b"のときは

N2(a+1)!(b1)!z!×N2(A1)!(B+1)!Z!\displaystyle\frac{\lceil \frac{N}{2} \rceil}{(a + 1)! \cdot (b - 1)! \cdots z!} \times \frac{\lfloor \frac{N}{2} \rfloor}{(A - 1)! \cdot (B + 1)! \cdots Z!}

となることに注意してください。

これを 1iN11 \leq i \leq N - 1 において、隣り合うアルファベットの組み合わせについて、重複を除いた後に上の処理を考えると、この問題を解くことができます。