Topcoder SRM703 Div2 500pts

题目大意

n 个点,编号从 1 n ,两个点 i , j 之间有边相连,当且仅当 g c d ( i , j ) > k ,问 x , y 两点是否连通。

1 n 10 6


1 n 枚举 g c d ,再枚举它的倍数,用并查集将枚举到的倍数与该 g c d 的集合合并。

复杂度 O ( i = 1 n n i ) ,跟 这篇 代码的复杂度一样。

猜你喜欢

转载自blog.csdn.net/Milkyyyyy/article/details/81705241