• 【学习笔记】Cayley定理


    内容

    在一张图上有 (n) 个节点,可以产生的生成树个数为 (n^{n-2})

    如果指定根就是:(n^{n-1})(一棵树可以有(n)个根,变化出 (n) 中方案乘一下)

    证明

    一一对应法。

    (n)个点为:(1,2,... n).

    假设 (T) 是其中一棵树,树叶中有标号最小的,设为 (a_1)(a_1) 的临界点为(b_1)

    从图中消去 (a_1) 点和边 ((a_1,b_1))(b_1) 点便成为消去后余下的树 (T_1) 的叶子节点。

    在树 (T_1) 中继续寻找标号最小的树叶,设为 (a_2)(a_2) 的邻接点为 (b_2),从 T_1 中消去 a_2 及边 ((a2,b2))

    如此步骤共执行 (n-2) 次,直到最后只剩下一条边为止.于是一棵树对应一序列 $ b$

    (b_1,b_2,⋯,b_{n-2})(1)(n) 的数,并且允许重复。

    反过来从 (b) 可以恢复树 (T) 本身,方法如下:

    一个是顶点标号的有序序列

    [a_{1 ightarrow n} ]

    另一个是生成的序列

    [{b_{1 ightarrow n}} ]

    (updated on 2020-05-01)

    这个序列叫做 (purfer) 序列

    性质:一个点在 (purfer) 序列中出现的次数,为其在无根树中的出度的个数 (+1)

    这样我们可以把树的计数转化到序列计数(难点在限制转化)

    过程:在序列 (a) 中找出第一个不出现在序列 (b) 中的数

    这个数显然便是 (a_1),同时形成的边 ((a_1,b_1)),并从 (a) 中消去 (a_1) ,从 (b) 中消去(b_1)

    在余下的序列中继续以上的步骤 (n-3) 次,直到序列 (b) 为空集为止。这

    时序列(1)剩下的两个数(a_ k,b_k),边((a_k,b_k))是树 (T) 的最后一条边。

    上面的过程说明过 (n) 个已知标号的顶点的树和序列 ({b_{1 ightarrow n}}) 一一对应

    根据乘法法则可得,过 (n) 个有标号(相当于互异)的顶点的树的数目,为 (n^{n-2}) 个.

    挺爽的,学会了就可以来十行之内写 (LGOJ) 蓝牌题了

    例题

    1.LGOJ4430 小猴打架

    link

    首先树的构成有 (n^{n-2}) 种,然后每一棵树有 ((n-1) space!) 中构造方式((n-1)条边,不限定顺序,然后是小学知识了吧……)

    答案就是:((n-1) space ! imes n^{n-2})

    这种结论题还是挺恐怖的,猜错了就……

    2.LGOJ4981 父子

    link

    使用结论+快速幂即可

  • 相关阅读:
    浏览器兼容模式下,上传文件问题
    计算机编程语言也是一种语言,认识的词汇越多越好
    localhost换成127.0.0.1和本机IP打不开本地项目了的问题
    mvc @html.action() 跨area调用controller 中的action
    windows server 2012 FTP连接报530 User 用户名 cannot log in home directory inaccessible的解决方法
    eCharts 数据转换json
    win10家庭版查看已连接wifi密码
    jequery动态创建form
    jsp 获取配置信息
    docker常用命令
  • 原文地址:https://www.cnblogs.com/yspm/p/12389391.html
Copyright © 2020-2023  润新知