看到题目时第一反应时哈希,想了想不可能,
不一会又想到了map存,string不会用,再次转化哈希还是不行
正确思路(很简单,但没想到)
分析会重复的几种情况,手模一下根据一会就会发现了
这个题目条件下 一个长度为 len 字符串删除的能情况为1.2 ,2.3 ,:::len-1 . len
一共len-1种可能
当出现 aba 型时 删除 ab与删除 ba得到的串一样
#include<bits/stdc++.h>
using namespace std;
char C[200010];
int main()
{
int T;cin>>T;
while(T--)
{
int m,t=0;
cin>>m;
cin>>C+1;
for(int i=1;i<m-1;i++)
{
if(C[i]==C[i+2]) t++;
}
cout<<m-1-t<<'\n';
}
return 0;
}