1.Distinct Sub-palindromes
题意:
长度为n,本质不同的回文子串个数最少的由小写字母‘a’~'z’组成的数量
解析:
n==1 设字符为x.那么本质不同的回文子串个数就是: 'a'~'z' 共26个
n==2 设字符为x,y 那么长度为2的类型为 xx,xy 对于xx字符串的回文子串有 x,xx
对于xy字符串的回文子串有x,y 所以本质不同的回文子串个数为2 那么方案数为26*26
n==3 设字符为x,y,z 那么长度为3的类型xxx,xxy,xyx,yxx,xyz
对于xxx回文子串 x,xx,xxx 有3个
对于xxy回文子串 x,xx,y 有3个
对于xyx回文子串 x,y,xyx 有3个
对于yxx回文子串 y,x,xx 有3个
对于xyz回文子串 x,y,z 有3个
所以本质不同的回文子串个数为3,那么方案数就是26*26*26
n>=4 我们就构造成abcabcabc....这样会使得本质不同的回文子串个数最少为3个(其他的答案都会超越3)
方案数为:26*25*24
#include<bits/stdc++.h>
using namespace std;
int t,n;
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
if(n==1) printf("26\n");
else if(n==2) printf("%d\n",26*26);
else if(n==3) printf("%d\n",26*26*26);
else
{
printf("%d\n",26*25*24);
}
}
}