2021.08.06 P2441 角色属性树(树形结构)

2023-05-13,,

2021.08.06 P2441 角色属性树(树形结构

P2441 角色属性树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题意:

求离x最近的祖先y且(x,y)>1。

分析:

数据水,暴力能过。正解究竟是啥,很令人疑惑。

代码如下:

#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std; const int N=2e5+10;
int n,m,a[N],fa[N]; inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')w=-1;
ch=getchar();
}
while(ch<='9'&&ch>='0'){
s=s*10+ch-'0';
ch=getchar();
}
return s*w;
}
int gcd(int x,int y){
return y==0?x:gcd(y,x%y);
}
int solve(int x){
for(int i=fa[x];i;i=fa[i])if(gcd(a[x],a[i])>1)return i;
return -1;
} int main(){
n=read();m=read();
for(int i=1;i<=n;i++)a[i]=read();
for(int i=1;i<n;i++){
int u,v;
u=read();v=read();
fa[v]=u;
}
for(int i=1;i<=m;i++){
int op=read();
if(op==1){
int u;
u=read();
cout<<solve(u)<<endl;
}else if(op==2){
int u,v;
u=read();v=read();
a[u]=v;
}
}
return 0;
}

2021.08.06 P2441 角色属性树(树形结构)的相关教程结束。

《2021.08.06 P2441 角色属性树(树形结构).doc》

下载本文的Word格式文档,以方便收藏与打印。