完全忘了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)直观一点的事实
(|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定理
如果没有颜色相邻的要求,即所有颜色平等化的话,
基本没怎么变,但是求每个置换的循环节就行了
在一些等价类计数问题中,只需用(tao)到(shang)上述理论
再用一些其他计数算法去计算每个置换的不动点数目/循环节数目就能解决..
只做过帮助理解的一些淼题..
「card」
burnside+dp
「周末晚会」
burnside+dp
「color」
polya+math
「Magic Bracelet」
burnside+dp
「有色图」
这道不是淼题,
而是我感觉很难的一道题..