Codeforces 313B Ilya and Queries

在这里插入图片描述他是给了我们一个字符串,要我们找出串里边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;
}
发布了9 篇原创文章 · 获赞 0 · 访问量 216

猜你喜欢

转载自blog.csdn.net/qq_45773977/article/details/104523848
今日推荐