社区讨论

未知错误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 条回复,欢迎继续交流。

正在加载回复...