Loading

[笔记] 群论

\({\rm Burnside}\) 引理

\[|X/G|=\frac{1}{|G|}\sum_{g\in G}|X^g| \]

\(|G|\):置换群的大小 (即置换的个数)

\(|X/G|\):集合 \(X\) 在群 \(G\) 作用下的轨道数 (即或本质不同元素数)

\(|X^g|\):在变换 \(g\) 下,\(X\) 集合中的不动点数 (即置换之后看起来没动情况数目)

\({\rm P\acute{o}lya}\) 定理

\[|X/G|=\frac{1}{|G|}\sum_{g\in G}|B|^{c(g)} \]

\(|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})\)

posted @ 2022-07-22 16:59  IrisT  阅读(71)  评论(0编辑  收藏  举报