题意
使用26个小写字母组成长度为n的字符串s,要求s的子回文串个数最少,求s的数量
方法
abc代表字母
n=1
a
26
n=2
aa,ab
子回文串
aa->a,aa
ab->a,b
26(aa)+26*25(ab)
n=3
aaa,aba,aab,baa,abc
子回文串
aaa->a,aa,aaa
aba->a,b,aba
aab->a,b,aa
baa->a,b,aa
abc->a,b,c
26(aaa)+26*25*3(aba,aab,baa)+26*25*24(abc)
n>3
对于aaa,aba,aab,baa这几种类型增加一个字母必然会增加一个子回文串
而对于abc增加一个字母变成abca之后子回文串依旧为a,b,c三个
即使增加多个字母也是
26*25*24
#include<bits/stdc++.h>
using namespace std;
int t,n;
int main()
{
cin>>t;
while(t--)
{
cin>>n;
if(n<=3)
cout<<pow(26,n)<<endl;
else
cout<<26*25*24<<endl;
}
}