一张圆桌周围 n n 把椅子,留下 k k 把,且任意两个椅子不相邻。求本质不同的方案数。如果对于两个方案,其中的一个不能通过旋转或翻转得到另一个,那么称他们本质不同。
根据 burnside 引理,等价类数量等于置换不动点数量的平均数。我们枚举一个旋转的置换,例如旋转了 x x 步,那么在这个置换下就有 gcd(x,n) g c d ( x , n ) 个循环节,长度都为 d=ngcd(x,n) d = n g c d ( x , n ) 。每个循环节状态应该相同。因此如果 d|k d | k ,那么我们就要在所有循环节中选出 num=kd n u m = k d 个,并且不相邻。发现如果相邻的循环节之间连边,那么这张图还是一个环。我们先随便找个地方断开,变成序列上不相邻,最后减去同时选首尾的。因此方案数为 (gcd(x,n)−num+1num)−(gcd(x,n)−num+3num−2)。 ( g c d ( x , n ) − n u m + 1 n u m ) − ( g c d ( x , n ) − n u m + 3 n u m − 2 ) 。 序列上不相邻的做法类似隔板法,先拿出 num−1 n u m − 1 个球,最后插回去。
对于环,需要讨论 k k 和 n n 的奇偶。
有 m m 种颜色的珠子。有三种操作:旋转、翻转、转换操作.。转换操作会将所有珠子的颜色编号加1,。特别地, 对于所有颜色编号为 m m 的珠子, 它们的颜色编号会变为1。 如果一个项链A在经过任意的旋转, 翻转, 颜色转换之后变为了项链 B,则称 A 和 B 是等价的。 求有多少个本质不同的项链。
又加了转换操作。一个想法是不改变置换群,统计答案的时候考虑转换。另一种想法是扩大置换群。发现第二种比较靠谱。我们把置换群群扩大到 2∗n∗m 2 ∗ n ∗ m 个。例如我们旋转了 i i 步,转换了 d d 次,首先要满足同一循环节前一个颜色比后一个小 d d ,并且 d⋅ngcd(i,n)=0 (mod m) d · n g c d ( i , n ) = 0 ( m o d m ) ,因为转一圈要变回自己的颜色。我们想要计算一下在一个 i i 下有多少合法的 d d 。令 z=ngcd(i,n) z = n g c d ( i , n ) ,化简一下式子:
由于 d∈[1,m] d ∈ [ 1 , m ] ,因此在当前 i i 下有 (m,z) ( m , z ) 个合法的 d d 。所以我们的总方案数长这样:
好像还要写一个 Pollard_Rho…