#P15608. [ICPC 2021 Jakarta R] Not One

[ICPC 2021 Jakarta R] Not One

说明

一组正整数 SS 的最大公约数(GCD)定义为最大的正整数 dd,使得 ddSS 中所有元素的约数,例如,GCD(10)=10\text{GCD}(10) = 10GCD(6,9)=3\text{GCD}(6, 9) = 3GCD(20,12,16,36)=4\text{GCD}(20, 12, 16, 36) = 4

本题中,给定一棵具有 NN 个节点的树,节点编号从 11NN,每个节点被赋予一个正整数 AiA_i。你的任务是找出最大的子树,使得该子树中所有节点权值的最大公约数不为 11,如果不存在这样的子树,则输出 00。树 TT'TT 的子树当且仅当 TT' 是连通的且是 TT 的子集。子树的大小是指该子树中的节点数量。

例如,考虑下面一棵 N=7N = 7 个节点的树,其中 A1..7={10,5,8,6,10,6,4}A_{1..7} = \{10, 5, 8, 6, 10, 6, 4\}

:::align{center} :::

在这个例子中,有 1515 个子树,其所有节点权值的最大公约数不为 11,即七个大小为 11 的子树,四个大小为 22 的子树,三个大小为 33 的子树,以及一个大小为 44 的子树(最大的)。最大的子树包含节点 44556677,它们权值的最大公约数为 $\text{GCD}(A_4, A_5, A_6, A_7) = \text{GCD}(6, 10, 6, 4) = 2$。

输入格式

输入第一行包含一个整数 NN2N1000002 \leq N \leq 100\,000),表示给定树的节点数量。下一行包含 NN 个整数 AiA_i1Ai1061 \leq A_i \leq 10^6),表示第 ii 个节点的权值。接下来 N1N-1 行,每行包含两个整数 uju_jvjv_j1uj<vjN1 \leq u_j < v_j \leq N),表示连接节点 uju_jvjv_j 的一条边。保证给定的树是连通的。

输出格式

输出一行一个整数,表示最大的子树的大小,该子树中所有节点权值的最大公约数不为 11。如果不存在这样的子树,则输出一行 00

7
10 5 8 6 10 6 4
1 2
2 3
2 4
4 5
4 6
4 7
4
4
1 1 1 1
1 2
2 3
3 4
0
5
100 100 100 100 100
3 4
1 2
3 5
2 4
5

提示

样例 #2 解释

在这种情况下,不存在所有节点权值的最大公约数不为 11 的子树。

翻译由 DeepSeek 完成