72pt求调
原题链接:81674.奇怪的树2025-10-13 18:45:15
发布于:江苏
#include<bits/stdc++.h>
using namespace std;
long long n,q,u,v,t,num;
vector<int>a[200005];
struct k{
int c;
map<int,int>mp;
}z[200005];
void jia(map<int,int>&x,map<int,int>y){
for(pair<int,int>i:y){
x[i.first]+=i.second;
}
}
void dfs(int n,int l){
for(int i:a[n])if(i!=l){
dfs(i,n);
jia(z[n].mp,z[i].mp);
}
z[n].mp[z[n].c]++;
}
int main(){
cin>>n>>q;
for(int i=1;i<=n;i++){
cin>>z[i].c;
}
for(int i=1;i<n;i++){
cin>>u>>v;
a[u].push_back(v);
a[v].push_back(u);
}
dfs(1,0);
for(int i=1;i<=q;i++){
cin>>u>>t;
num=0;
for(pair<int,int>j:z[u].mp)if(j.second>=t){
num++;
}
cout<<num<<endl;
}
}
全部评论 1
你这不是 的吗。
1周前 来自 广东
0但是MLE了
1周前 来自 江苏
0空间也是 的啊
1周前 来自 广东
0奥奥奥
1周前 来自 江苏
0
有帮助,赞一个