• 「不会」等价类计数



    完全忘了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

  • 相关阅读:
    JVM原理---------------1.开篇
    mysql开启事务的方式,命令学习
    mysql中的锁
    mysql索引底层原理
    mysql的常见存储引擎与常见日志类型,以及4种线程的作用
    Mutex
    委托和匿名委托
    线程通信
    同步锁
    [ValidateInput(false)]
  • 原文地址:https://www.cnblogs.com/yxsplayxs/p/12108577.html
Copyright © 2020-2023  润新知