zoukankan      html  css  js  c++  java
  • Codeforces 1109D: generalizations of Cayley's formula证明

    这题的时候发现题解里有提到(generalizations of Cayley's formula)的,当场懵逼,Wikipedia里也就带到了一下,没有解释怎么来的,然后下面贴了篇论文

    大概就是(n)个点(k)个联通块的森林,(1,2,cdots,k)属于不同的联通块,这样不同的方案数共有(kcdot n^{n-k-1})种。

    我自己用(Prüfer)序列脑补了半天没搞懂怎么来的,始终觉得感性理解是(n^{n-k}),然后就去看了下那个证明。

    (F(n,k))表示那个方案数((n,k)与前面意义相同),我们要证明

    [F(n,k)=kcdot n^{n-k-1} ;;;;;;(1) ]

    证明基于下面这个公式,若(n>1)(1 leq k leq n)

    [F(n,k)=sum_{j=0}^{n-k} {n-k choose j} F(n-1,k+j-1) ;;;;;;(2) ]

    其中(F(1,1)=1,F(n,0)=0(n geq 1))
    要证明上面的递推式,考虑一个(n)个点(k)个联通块,(1,2,cdots,k)属于不同的联通块的森林,在这个森林中,一号节点可能和({k+1,k+2,cdots,n})的任何子集相连,假设连了(j)个点,那么方案数就是(n-k choose j),然后删掉一号点,此时有(n-1)个点,(k+j-1)个联通块,我们枚举(j),就得到了上面的式子。

    再用一下数学归纳法就可以把(2)式变成(1)式了
    (n=1)时,两式显然相等
    (n>1)时,若(F(n-1,i)=i cdot (n-1)^{n-i-2}),则由(2)可得

    [F(n,i)=sum_{j=0}^{n-i} {n-i choose j}(i+j-1)(n-1)^{n-i-j-1}=i cdot n^{n-i-1};;;;(3) ]

    用一下二项式定理就行。


    博主有话说:不得不承认这篇博文是烂尾,毕竟还不是很懂二项式定理QAQ,但感觉这个证明还挺精巧的。

  • 相关阅读:
    java中float内存存储原理
    java生产者消费者模式代码示例
    数据库死锁解决方案
    eclipse插件FindBugs使用笔记
    cmd查看环境变量
    springsECURITYDemo依赖
    2.27上课使用页面
    激活idea
    麻蛋 居然在jdk 问题上弱智
    Erek
  • 原文地址:https://www.cnblogs.com/ymzqwq/p/11171924.html
Copyright © 2011-2022 走看看