CF1553G
注意到答案不超过 \(2\)。
对于询问 \(s,t\),copy(s),copy(t)
之后存在 \(s\to s' \to t' \to t\) 的路径(因为 \(s',t'\) 都是偶数)。
先对于每个质数开一个点,用并查集维护。
我们把点的路径换成质数的路径。
那么如果 \(c|a,b|a~(b,c\in Prime)\) 则并查集上合并 \(c,b\)。
那么如果 \(s,t\) 的所有质因数都在一个集合里,那答案就是 \(0\)。
考虑什么时候答案是 \(1\)。
令 \(b_i=a_i+1\),那新开一些边,\(b_i\) 的质因数两两连边,也就表示复制一个 \(i\) 能连上一些质数点。
那么如果 \(set(s)\to set(t)\) 有一条边,那么答案就是 \(1\)。
否则答案就是 \(2\)。
代码直接在我号提交记录里看吧()