can’t understand editorial solution
char s[MAX];
int previous_count[200],hash[200];
ll dp[MAX],sum[MAX];
int main()
{
boost;cin.tie(0);cout.tie(0);
// freopen(“input4.txt”,“r”,stdin);
int n,t;cin>>t;
while(t–)
{
cin>>s;
ms(previous_count,-1);
n=strlen(s);
ms(dp,0);
dp[0]=1;
previous_count[s[0]]=0;
f(i,1,n)
{
dp[i]=(2*dp[i-1])%mod;
if(previous_count[s[i-1]]!=-1)
dp[i]=(dp[i]-dp[previous_count[s[i-1]]-1]+mod)%mod;
previous_count[s[i-1]]=i;
}