他是给了我们一个字符串,要我们找出串里边a[i]=a[i+1]的数的个数,因为字符串是不变的,而暴力肯定会超时,所以我们用一个数组来存储数的个数,再用范围规定的边界减去即可
#include<iostream>
#include<string>
using namespace std;
int dp[100005];
int main()
{
string a;
cin>>a;
dp[0]=0;//初始值
for(int x=1;x<a.size();x++)
{
if(a[x]!=a[x-1])//不一样则数目不增
dp[x]=dp[x-1];
else
dp[x]=dp[x-1]+1;
}
int t;cin>>t;
while(t--)
{
int a,b;
cin>>a>>b;
cout<<dp[b-1]-dp[a-1]<<endl;//字符串是从0开始的,他给的从1开始
}
return 0;
}