[笔记] 群论
\({\rm Burnside}\) 引理
\(|G|\):置换群的大小 (即置换的个数)
\(|X/G|\):集合 \(X\) 在群 \(G\) 作用下的轨道数 (即或本质不同元素数)
\(|X^g|\):在变换 \(g\) 下,\(X\) 集合中的不动点数 (即置换之后看起来没动情况数目)
\({\rm P\acute{o}lya}\) 定理
\(|B|\):每个元素的映射方式个数 (例如染色的颜色数)
\(c(g)\):置换 \(g\) 能拆分成的不相交的循环置换的数量 (即等价类的数量)
题目
[P4727] 图的同构计数
[YZOJ7280] 凸多边形
简要题意
对序列 \(a_i\) 进行计数,要求满足 \(\sum_\limits{i=1}^ma_i=n\) 且 \(a_{\max}<\frac{n}{2}\)。
翻转和循环位移后相同的序列算同构。
\(T\le10^4,n\le 10^7,3\le m\le n\)。
解题思路
为了便于描述,记 \(lim=\lfloor\frac{n-1}{2}\rfloor+1\)。
这个题目看着就很群论不如 \({\rm Burnside}\) 引理直接来做。
首先考虑有哪些置换方式,旋转,和翻转再旋转,那么现在我们希望计算每种置换的不动点个数。
-
只旋转,位移 \(k\) 位,将分为 \(\gcd(k,m)\) 个等价类,每个等价类大小为 \(t=\dfrac{m}{\gcd(k,m)}\),那么相当于要计算 \(d\) 个数和为 \(\dfrac{n}{t}\) 且最大的数不超过 \(lim\) 的方案数,直接容斥。
-
旋转+翻转,按照 \(m\) 的奇偶讨论:
-
\(m\) 是奇数,所有 \(m\) 种情况都一定是分成 \(\dfrac{m-1}{2}\) 个大小为 \(2\) 的等价类和 \(1\) 个大小为 \(1\) 的等价类,直接枚举大小为 \(1\) 的等价类这个元素的大小 \(i\),然后计算 \(\dfrac{m-1}{2}\) 个数和为 \(\dfrac{n-i}{2}\) 且最大的数不超过 \(lim\) 的方案数。
-
\(m\) 是偶数,有 \(\dfrac{m}{2}\) 种情况是 \(\dfrac{m}{2}\) 个大小为 \(2\) 的等价类,另外 \(\dfrac{m}{2}\) 情况是 \(\dfrac{m}{2}-1\) 个大小为 \(2\) 的等价类和 \(1\) 个大小为 \(1\) 的等价类。
前面一种情况可以直接算。
后面一种情况再讨论,如果两个大小为 \(1\) 的等价类相同,归到前一类算,否则枚举两者差值,然后两个等价类归为一个计算,需要注意此时这个等价类与其他等价类限制不同。
-
大概要注意一个细节就是分成若干等价类的时候, \(n\) 是否能被等价类数目整除。
前一类置换本质不同只有 \(\sqrt{m}\) 种,而后一类置换所有提到的枚举都可以用上指标求和推出 \(O(1)\) 的式子。
最终时间复杂度为 \(O(n+m+T\sqrt{m})\)。