社区讨论
未知错误UKE
P2441角色属性树参与者 4已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mi6i7itn
- 此快照首次捕获于
- 2025/11/20 05:17 4 个月前
- 此快照最后确认于
- 2025/11/20 05:17 4 个月前
我换了个算法,后半段测试点一直是UKE。。。
CPP#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long int
using namespace std;
const int maxn=200005,INF=2000000000,P=1000000007;
inline int read(){
int out=0,flag=1;char c=getchar();
while(c<48||c>57) {if(c=='-') flag=-1;c=getchar();}
while(c>=48&&c<=57){out=out*10+c-48;c=getchar();}
return out*flag;
}
int N,M,v[maxn],fa[maxn];
int gcd(int a,int b) {return !b ? a:gcd(b,a%b);}
void init(){
int f,a;
N=read();
M=read();
for(int i=1;i<=N;i++) v[i]=read();
for(int i=1;i<N;i++){
f=read();
a=read();
fa[a]=f;
}
}
void solve(){
int cmd,u,t;
while(M--){
cmd=read();
u=read();
if(cmd&1){
for(t=fa[u];t;t=fa[t]) if(gcd(v[u],v[t])!=1) {printf("%d\n",t);break;}
if(!t) printf("-1\n");
}
else v[u]=read();
}
}
int main(){
init();
solve();
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...