题意: 给你一个字符串, 然后m次区间查询,求出区间有多少组 str【i】 == str【i+1】
就是一个水DP了 有则Dp【i】 = Dp【i-1】 无则 Dp【i】 = Dp【i-1】;
(刚开始理解错题意,以为要查询区间次数最多的频数, 还RMQ WA了。。。http://www.cnblogs.com/aoxuets/p/4792907.html, 查找次数的。。)
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + ;
char str[maxn];
int Dp[maxn]; int main()
{
int m, l, r;
cin >> str+;
int len = strlen(str+);
memset(Dp,,sizeof(Dp));
for(int i = ; i <= len; ++i)
if(str[i] == str[i-]) Dp[i] = Dp[i-] + ;
else Dp[i] = Dp[i-];
cin >> m;
while(m --)
{
cin >> l >> r;
cout << Dp[r] - Dp[l] <<endl;
}
}