只有30pts qwq
查看原帖
只有30pts qwq
680022
Rice_Demon_King楼主2024/6/23 20:58

壮烈牺牲图

题目传送门

代码如下:

#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吧!

2024/6/23 20:58
加载中...