一、题目链接
二、题目大意
给定 m m m 种不同颜色的魔法珠子,每种颜色的珠子的个数都足够多。
现在要从中挑选 n n n 个珠子,串成一个环形魔法手链。
魔法珠子之间存在 k k k 对排斥关系,互相排斥的两种颜色的珠子不能相邻,否则会发生爆炸。(同一种颜色的珠子之间也可能存在排斥)
请问一共可以制作出多少种不同的手链。
注意,如果两个手链经旋转后能够完全重合在一起,对应位置的珠子颜色完全相同,则视为同一种手链。
答案对 99739973 99739973 99739973 取模。
1 ≤ T ≤ 10 1 ≤ n ≤ 1 0 9 g c d ( n , 9973 ) = 1 1 ≤ m ≤ 10 0 ≤ k ≤ m ( m + 1 ) 2 1 ≤ a , b ≤ m 1 \leq T \leq 10 \quad 1 \leq n \leq 10^9 \quad gcd(n,9973)=1 \quad 1 \leq m \leq 10 \quad 0 \leq k \leq \frac{m(m+1)}{2} \quad 1 \leq a,b \leq m 1≤T≤101≤n≤109gcd(n,9973)=11≤m≤100≤k≤2m(m+1)1≤a,b≤m.
三、分析
由于循环之间存在限制关系,故无法使用 P o ˊ l y a P\acute olya Poˊlya 定理,而只能使用 B u r n s i d e Burnside Burnside 引理.
旋转操作共有 n n n 种置换,考虑一个置换 P i P_i Pi:顺时针旋转 i i i 个珠子( 1 ≤ i ≤ n 1 \leq i \leq n 1≤i≤n).
通过二元一次不定方程解得循环长度为 n g c d ( n , i ) \frac{n}{gcd(n,i)} gcd(n,i)n,于是循环个数为 g c d ( n , i ) gcd(n,i) gcd(n,i).
因此置换 P i P_i Pi 的不动点个数等于长度为 g c d ( n , i ) gcd(n,i) gcd(n,i) 的环的合法方案数,记为 F ( g c d ( n , i ) ) F(gcd(n,i)) F(gcd(n,i)).
根据 B u r n s i d e Burnside Burnside 引理可得答案为 A N S = 1 n ∑ i = 1 n F ( g c d ( n , i ) ) \begin{aligned} ANS = \frac{1}{n}\sum_{i=1}^n{F(gcd(n,i))} \end{aligned} ANS=n1i=1∑nF(gcd(n,i)).
由于 n n n 最大 1 0 9 10^9 109,直接枚举 i i i 是无法接受的. 而 g c d ( n , i ) gcd(n,i) gcd(n,i) 最多只有 1600 1600 1600 种,所以我们去枚举 g c d ( n , i ) gcd(n,i) gcd(n,i).
于是 A N S = 1 n ∑ d ∣ n φ ( n d ) F ( d ) \begin{aligned} ANS = \frac{1}{n}\sum_{d|n}\varphi(\frac{n}{d})F(d) \end{aligned} ANS=n1d∣n∑φ(dn)F(d),其中 φ ( n d ) \varphi(\frac{n}{d}) φ(