群论
一、引入
前置声明:
-
本文章讲述了群论在
OI
中的一点简单运用 -
需要一定的图论、生成函数基础
-
如果有什么建议或意见,欢迎评论、私信!!!
T1 有标号项链计数
给定正整数
求用 种颜色染色一个长为 的项链的方案数,项链不能旋转 solution
答案显然是
哪个项链不能旋转???这道题明显脱离实际好吧
T2 无标号项链计数
给定正整数
求用 种颜色染色一个长为 的项链的方案数,项链可以旋转 我们需要通过上面的方法,尝试总结归纳出通用的结论。solution
我们可以用所有旋转 次 的操作来将所有项链 去重 ,我们要问的是去重后的不同项链个数。 以
为例: ![]()
:
旋转一次 串成环 ![]()
于是答案就是
我们于是需要一个巧妙的方法,让每个环都只算一次。
巧妙的方法:
我们对所有的项链
,计算 旋转 次 后可以变成自己的 的个数 例子
将上图项链记为
,那么就有 满足条件 首先,我们计算对于每个项链,最少旋转
次可以变成自己 我们知道项链长为
,很容易知道做 ,即可得到 那么一个
是合法的,当且仅当 ,那么一共就有 个合法的 ,而环中恰好有 个元素,所以每个环对答案的贡献恰好为 ,计算这值后除以 就是答案。 然后,我们对每一个旋转
次的操作计算,有多少个项链 在 旋转 次 的作用下不变,这就是 旋转 次 这个变换的不动点个数。 一个旋转操作会将项链分成若干个等价类,每个等价类的颜色必须相同,不同等价类间相互独立
例子
上图即为
时的 个等价类。 答案即为:
于是我们做到了
的复杂度
二、基础知识
1. 群和群作用
- 群:设
为一个非空集合,在其中定义了一个二元运算 ,如果满足以下条件:- 封闭性:
- 结合律:
- 单位元:
- 逆元:
,我们称 为 的逆元,记作
- 封闭性:
注意!!!没有交换律!!!
特别地,对于满足交换律的群,我们将其称作 交换群
/ 阿贝尔群
还有一类特殊的群,置换群
:如果群 置换群
- 染色:我们称一个
元数对 为一个 元的染色。
对于置换群众的一个置换
例子
对于上面的T2,我们的一个项链即为一种染色
而题中的旋转即为置换:
2. 轨道-稳定子群定理
我们之前的环即为轨道,对于一个染色
我们考虑,对于所有把
时也称作
本文来自博客园,作者:ricky_lin,转载请注明原文链接:https://www.cnblogs.com/rickylin/p/17595561.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步