题目大意.

给定一个奇数 p。现有一个连通无向图 G,每条边有权值。

定义一次从 uv 的路径的权值为:令你一开始的持有的权值为 0,每经过一条边就把你持有的权值翻倍再加上该边的权值。

现有 q 组询问:是否存在从 uv 的路径,其权值和 w 在模 p 意义下相等。

|V|,|E|,q5×104,p106

记号

观察 1

考虑反复走同一条边,则权值会依次变为 w,2w+d,4w+3d,8w+7d,...,又必然存在 2k=1(modp),即走 k 步又会走回 w。即使奇偶性有问题,再走 k 步就能调整回来。

上述结论可表述为:如果有 (u,v,d),则 (u,w)(v,2w+d)

观察 2.

假设现有节点 u,连出了两条边 a,b,基于与观察 1 的类似理由有

(u,4w+3a)(u,w)(u,4w+3b)

(u,4w+3a)(u,4w+3b)

4 必有逆元,故又可总结为

(u,w)(u,w+3(ab))

这样,对于同一个 u(u,w) 中的 w 被观察 2 划为若干等价类,设 (u,w)(u,w+lu)

显然,lu=gcd(p,gcda,b(3(ab)))=gcd(p,3gcda,b(ab))

观察 3.

若有边 (u,v,d),则由上得

(u,w)(u,w+lu)(v,2w+d)(v,2w+2lu+d)

由于 2 必有逆元,即 (v,w)(v,w+2lu)。即 lv 被更新为 gcd(lv,2lu)

又循环节必定是 p 的约数,即也是奇数,故 lvgcd(lu,lv)

那么不断更新下去,最终的稳定状态必定满足 lv|lu,lu|lv,又图连通,故最终所有点的 l 总是相等,且等于 gcd(p,3gcdu,a,b(ab)),记为 gcd(p,3g)。下面我们不如令 pgcd(p,3g)

观察 4.

显然,所有边在模 g 意义下相同,不妨设为 b,故在现在的 p 下最多只有三种边权:b,g+b,2g+b

可以发现,若有边 (u,v,kg+b),则

(u,wb)(v,2w+kgb)

即,与 (u,wb) 等价的皆是形如 (v,2+kgb) 的状态。注意到 p|2gk 的有用取值仅有 0,1,2;又注意到只要有 (u,v,kg+b) 就有 (u,wb)(u,4w+3kg)=(u,4w),即 的有用取值也仅有 0,1。这就做完了。