题目
思路
本题要注意书写代码是尽量降低时间复杂度,否则会超时,这里进行预处理即可
代码
#include<iostream>
using namespace std;
#include<vector>
int main()
{
int n = 0, m = 0;
cin >> n >> m;
vector<int> a(n);
for (int i = 0; i < n; i++)
cin >> a[i];
vector<int> count(n);
count[0] = 0;
for (int i = 1; i < n; i++)
{
if (a[i] != a[i - 1])
count[i] = count[i - 1] + 1;
else
count[i] = count[i - 1];
}
while (m--)
{
int q = 0, h = 0;
cin >> q >> h;
cout << count[h-1]-count[q-1] + 1 << endl;
}
return 0;
}