递推不难,但需要注意取模时数值溢出以及避免相减时模出负值;
#include<iostream>
using namespace std;
const int mod=1e9+7;
int main(){
int n;
long sum=0,s[1010101],exp_26[1010101],exp_25[1010101];
cin>>n;
s[0]=0;
s[1]=0;
exp_26[0]=1;
exp_25[0]=1;
for(int i=2;i<=n;++i){
exp_26[i-1]=(exp_26[i-2]*26)%mod;
exp_25[i-1]=(exp_25[i-2]*25)%mod;
s[i]=(mod+exp_26[i-1]-exp_25[i-1]+25*s[i-1])%mod;
sum+=s[i];
sum%=mod;
}
cout<<sum;
return 0;
}