数数你的同分异构(完善中)
Part 0 群
§ 0.0 群的基本定义
一个集合
如果满足下面的这条性质:
(封闭律)
我们称这个集合和这个运算的整体
如果进一步满足这个性质:
(结合律)
那么我们还能把这个整体称作一个半群。
如果进两步满足这个性质:
(单位元)
注意要对左乘和右乘同时满足这个性质。
那么这个整体可以叫做幺半群。
如果进三步满足这个性质:
(逆元)
这里也要同时对左右成立。
那么这个整体就是一个群了!
如果在此之上还满足
§ 0.1 置换群
有一些元素
其中
当然,任意交换某些列之后得到的置换和原先的置换是等价的。
两个置换是可以复合的,其定义如下:
定义循环置换为一种特殊的置换,满足它可以被写成如下的形式:
其中
如果把置换视作图,由一列中上方向下方连边,那么易得到每个点恰有一个出度和一个入度,因此而我们知道这个图是由若干个不相交的环构成的。换句话说,任意一个置换都可以拆成若干循环置换的复合。
§ 0.2 子群与陪集
既然集合有子集,那么群有没有子群呢?
当然有了,子群定义为:有一个群
可以看到,一个子群必定含有大群的单位元。进一步地,我们发现,如果想要证明一个子集
和运算 构成一个子群,只需要证明该群具有封闭律、每个元素都有逆元即可。
能不能进一步简化证明呢?我们考虑上面三个要证的东西的实质:
我们发现,第二个条件比第一个要强一些,满足了他一定会满足第一条,所以把第一条省略掉。
然后这两条条件可以综合为下面的这一条:
这是子群检验定理,是一个充要条件。
接下来是另一个概念:陪集。
陪集的由来:考虑四边二面体群
(有标号、有正反正方形在空间中的摆放方式群),这个正方形经过一次翻转操作之后,如果不翻转回来,那么它将永远无法回到正面朝上的四个状态。 陪集正是为了表征这种性质而发明。
定义
性质 1:对于某个子群
证明:假设存在
那么对于任意的
根据子群的封闭律、逆元律,有
证毕。
性质 2:一个陪集是一个子群当且仅当它与原子群相等。
证明:考虑一个子群必须含有单位元,根据上一性质易证。
性质 3:任意一个陪集的大小一定与原子群相等。
证明:假设存在不相同的
同时陪集显然不会比原子群更大。
性质 4(拉格朗日定理):
证明:考虑
用记号
表示 的不相交的陪集的数目。
§ 0.3 轨道与稳定子
有一个群
一个性质:
证明:考虑子群检验定理,设
而
证毕。
然后是轨道-稳定子定理,其表述为:
证明:考虑刚刚的性质,
所以我们想,如果能在
考虑到
设有轨道中有两个元素
因此我们建立的映射是双射。
证毕。
Part 1 开始计数!
§ 1.0 Burnside计数定理
给定一些立方体,他们的每个面都被染上了某种颜色,计数其中本质不同的立方体数目。
本质不同的立方体是什么?
根据生活常识,两个着色的方案不是本质不同的,当且仅当我们可以通过某种特定的旋转方式,把第一种方案变成第二种。
而一种旋转,可以视作对立方体面的集合进行的一个置换。显然这些置换加上置换复合操作构成一个群
然后,我们把一种着色方案视作一个映射,从每一个正方体的面映射到一种特定的颜色,允许有颜色被映射多次,或有颜色不被映射。我们要计数的是在这个置换群
显然,
另外,可以发现对于等价类里的某个元素,它的轨道正好就是这个等价类。记此性质为性质 B .
记
Burnside定理给出:
其中
用方便记忆的语言说:一个映射集合中,本质不同的映射(染色方式)的数目等于所有变换下保持不变的映射数目的平均数。
证明如下,其中第三行利用了轨道-稳定子定理,第五行利用了等价类的性质 A 将求和分层,第六行利用了等价类的性质 B:
§ 1.1 Pólya定理
假如我们不是给出若干个已经染好色的立方体,而是让你计数在只用特定几种染料的情况下,有多少种给一个立方体染色的本质不同方案,该如何解决呢?
其实相当于把刚刚的
其实这种情况下,
考虑如果把这个置换
为什么呢?如果有两个相邻的点颜色不同,进行一次置换(沿循环走一步)之后,一定有一个点被映射到的颜色发生改变。
所以,设置换
由此得到了 Pólya 定理,其中
Part 2 例题
T0 Pólya定理(模板)
题意:一个
解法:首先,所有逆时针旋转都可以转化为顺时针旋转。
然后,考虑如何计数一个“旋转
接下来,我们知道
推导可得,
另外观察到,置换群的大小为
所以最终的式子就是:
枚举约数直接计算的复杂度是正确的。
T1 烷基计数
题意:计数含有
解法:本质上就是计数【无标号且任意一个节点的度数不超过四】的有根树的数目。考虑使用生成函数,令
先考虑孩子有序的情况,这是简单的:
然后考虑利用 Burnside 去重,考虑构建一棵有根树,相当于给根的三条朝下的化学键着色,一种颜色就是一种大小的子树,后者的信息保存在上一个迭代的生成函数表达式里。
然后依次考虑对孩子的六种置换,暴力相加。考虑一个置换下某个染色方案不变,只能是每个环都有相同的颜色。
但是不能直接用
这种情况相当于
T2 烷烃计数
题意:计算含有
解法:似乎和刚刚的差不多?只不过从有根树变成了无根树。
让我们仿照上面的方法,计数含有
然后呢?如何去重?考虑树的重心(暂且假设只有一个重心),如果
T3 CF1630E Expected Components
题意:从所有本质不同的,长度为
做法:可以发现,本质上就是要求连续段数目的平均数。
我们在第二部分要计数的组合对象是什么呢?
既然是圆排列,考虑一个性质:一个圆排列中,【连续段的数目】等于【相邻位置不同颜色】的数目。
那么考虑对于一个要统计连续段数目的排列,对于其中的每一个【相邻位置颜色不相同】的位置二元组,建立一个新的拷贝,在这个拷贝中标记这个位置二元组。然后拷贝的数量就是这个圆排列的连续段个数。
我们现在是从一个圆排列出发,拆出了若干个组合对象,现在转换枚举顺序,扔掉第一步,直接给这个组合对象下个定义:
是一个圆排列,其中有两个相邻的位置是“关键位置”,要求关键位置上的两个值不同。两个组合对象不同当且仅当不能通过旋转圆排列的方法使二者完全重合。
然后把这些组合对象的数目算出来,我们就得到了所有本质不同的圆排列中所有连续段的数目之和。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?