「不会」等价类计数


完全忘了TnT

然而这种类型的题目好像没考过..asas

先复习一下万能的burnside引理,

啊不先复习一下定义(有些是本蒻自己yy的可能并不准确)

一个物体:被染色的对象

一个元素:一种染色方案

一个置换(g):一种让物体交换位置的变换方法

一个置换群(G):里面的置换满足封闭性结合律单位元逆元

一个不动点(对于一个置换i来说的):被该置换作用后,不发生改变的一个元素(数目记为(c_i)

一个不动置换类(对于一个元素k来说的):作用在该元素上使该元素不发生改变的一个置换(数目记为(Z_k)

一个等价类(对于一个元素k来说的):在G中所有置换作用下k的轨迹,即变化成所有元素的集合(记为(E_k)

等价类数目(对于一个置换群G来说的):G的作用把全集分成的等价类的个数..(记为L)

问:给一串珠子染色,旋转/翻转同构算一种,某某颜色还不能挨着,某某颜色还必须挨着...

有几种染色方案?

即求等价类数目,此时需要搬出burnside引理

[L=frac{1}{|G|} sum c_i ]

诡谲的翻译:所有置换的不动点的平均值

还是先理解一个比(L=frac{1}{|G|} sum c_i)直观一点的事实

(|G|=|Z_k|*|E_k|)(对任意元素k)

置换群的一个优美性质是 能使群内元素到达它所在等价类的所有位置的置换数目都相同

也就是说若(E_x==E_y),使(k_0->k_1)的置换数目(num(k_0->k_1)=frac{|G|}{|E_k|})

(num(k->k)=|Z_k|),故(|Z_k|=frac{|G|}{|E_k|})

(|G|=|Z_k|*|E_k|)

翻译:对任意元素k,置换总数|G|=k所在等价类中元素的(|Z|)之和

那么每个(|G|)都可以代表某一个等价类的(|Z|)之和,

(L)(|G|)就能代表所有元素的(|Z|)之和。

(L*|G|=sum|Z|)

统计“置换作用于元素但元素未改变”这一事件发生的数量

(sum|Z|=sum c_i)

(L*|G|=sum c_i)

(L=frac{1}{|G|} sum c_i)

问题有了头绪,求每个置换的不动点数目就行了

然后burnside引理有个延伸/具体化叫polya定理

如果没有颜色相邻的要求,即所有颜色平等化的话,

[L=frac{1}{|G|} sum m^{h_i} ]

基本没怎么变,但是求每个置换的循环节就行了

在一些等价类计数问题中,只需用(tao)到(shang)上述理论

再用一些其他计数算法去计算每个置换的不动点数目/循环节数目就能解决..

只做过帮助理解的一些淼题..

「card」

burnside+dp

「周末晚会」

burnside+dp

「color」

polya+math

「Magic Bracelet」

burnside+dp

「有色图」

这道不是淼题,

而是我感觉很难的一道题..

https://www.cnblogs.com/yxsplayxs/p/11632236.html

原文地址:https://www.cnblogs.com/yxsplayxs/p/12108577.html