<<< 求个赞
分析
我这是什么算法我自己都不太清楚,总之有点像那个啥染色,也不难理解
先开一个$C$数组(我程序里用的是$A$数组)
把每次给的$A_i$到$B_i$这个区间 $C[A_i]$ 到 $C[B_i]$ 染一遍,加一
最后对于每一个询问,只要输出$C_x$就行了
C++ 代码(哎呦我这么写竟然都能过
#include<bits/stdc++.h>
#pragma GCC optimize(3)
using namespace std;
int t;
int a[100101];
int main(){
cin>>t;
for(int c=1;c<=t;c++){
printf("Case #%d:",c);
int n;
cin>>n;
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++){
int x,y;
cin>>x>>y;
for(int j=x;j<=y;j++) a[j]++;
}
int p;
cin>>p;
for(int i=1;i<=p;i++){
int x;
cin>>x;
printf(" %d",a[x]);
}
puts("");
}
return 0;
}