题意: 给你一个字符串, 然后m次区间查询,求出区间有多少组 str【i】 == str【i+1】
就是一个水DP了 有则Dp【i】 = Dp【i-1】 无则 Dp【i】 = Dp【i-1】;
#include<bits/stdc++.h> using namespace std; const int maxn = 1e5 + 131; char str[maxn]; int Dp[maxn]; int main() { int m, l, r; cin >> str+1; int len = strlen(str+1); memset(Dp,0,sizeof(Dp)); for(int i = 1; i <= len; ++i) if(str[i] == str[i-1]) Dp[i] = Dp[i-1] + 1; else Dp[i] = Dp[i-1]; cin >> m; while(m --) { cin >> l >> r; cout << Dp[r] - Dp[l] <<endl; } }
时间: 2024-10-03 20:17:15