思路:DP思想
实现代码:
#include<bits/stdc++.h>
using namespace std;
const int N=1000010;
const int M=1e9+7;
int n;
long long f[N][3];
int main()
{
cin>>n;
f[1][0]=25; //f[i][0] 前面没有u
f[1][1]=1; //f[i][0] 有一个或者多个u (没有us)
f[1][2]=0; //f[i][2] 前面有us
long long res=0;
for(int i=2;i<=n;i++)
{
f[i][0]=(f[i-1][0]*25)%M;
// printf("%lld ",f[i][0]);
f[i][1]=((f[i-1][1]*25)%M+f[i-1][0])%M;
// printf("%lld ",f[i][1]);
f[i][2]=((f[i-1][2]*26)%M+f[i-1][1])%M;
// printf("%lld \n",f[i][2]);
res=(res+f[i][2])%M;
}
printf("%lld ",res);
return 0;
}