对于一条路径的权值为gcd(ab1,ab2,ab3,...,abh),其中b1,b2,b3,...,bk是路径上的节点编号,当路径上只有一个点路径权值即为该点的点权。
给定一棵有 n 个节点的树,每个节点 i 具有权值 ai。定义一条路径的权值为这条路径上所有节点权值的 gcd(ab1,ab2,…,abh),其中路径上的节点编号为 b1,b2,…,bh。当路径只有一个节点时,其路径权值即为该节点的权值。要求统计树中有多少条简单路径的权值为偶数。注意:我们认为 u→v 和 v→u 是同一条路径,且 u→u 也算一条路径。
本题的核心在于利用最大公约数为偶数的充要条件,即路径上所有节点必须均为偶数,将原问题转化为仅考虑偶数节点构成的子图,然后在该子图中寻找各个连通块,对于每个连通块中包含的偶数节点数记为 k,简单路径数为 2k(k+1),最后将所有连通块的路径数累加得到答案。