思路:首先当然是要用树的点分治了.根节点为root,那么经过root的合法路径数求出来这题就解决了.因为我们可以用分治枚举根,最后将所有根的路径数加起来就是结果.当然这里的根不是整棵树的根,是子树根. 我们为每个节点分配一个长度为30的数组记录给定因数在每个节点权值出现的次数.如果某几个权值相乘的值Value的三次根仍是整数的话,那么Value在给定因数的所有幂一定是3的倍数.通过这个转换,我们将所有的幂都对3取余,结果还是一样. 在判断经过root的合法路径数时,我们进入其一个子树,将经过的路…