壮烈牺牲图
题目传送门
代码如下:
#include<bits/stdc++.h>
#define MAXN 100009
using namespace std;
int T;
vector<int> v[MAXN];
int main(){
cin>>T;
while(T--){
int n,q,a[MAXN],d[MAXN];
cin>>n;
for(int i=1;i<=MAXN;i++) v[i].clear();
for(int i=1;i<=n;i++){
cin>>a[i];
d[i]=a[i];
}
sort(a+1,a+n+1);
int cnt=unique(a+1,a+n+1)-(a+1);
for(int i=1;i<=n;i++) d[i]=lower_bound(a+1,a+cnt+1,d[i])-a;
for(int i=1;i<=n;i++) v[d[i]].push_back(i);
cin>>q;
while(q--){
int l,r,x;
cin>>l>>r>>x;
if(v[x].empty()){
cout<<0<<endl;
continue;
}
int L=lower_bound(v[x].begin(),v[x].end(),l)-v[x].begin();
int R=upper_bound(v[x].begin(),v[x].end(),r)-v[x].begin();
cout<<R-L<<endl;
}
}
return 0;
}
求各位大佬救救MnZn吧!