• luogu4430 小猴打架


    假硕讲了个prufer编码和Caylay公式

    我为了证明prufer编码没用

    所以用矩阵树定理证明了Caylay公式

    让我们用矩阵树定理推一波

    首先这个小猴打架最后会打成一棵树,这棵树是N个点的完全图的生成树

    所以用矩阵树定理

    构建矩阵(N个点的完全图)

    这是我们的邻接矩阵

    (egin{vmatrix}0&1&1&cdots&1\1&0&1&cdots&1\1&1&0&cdots&1\vdots&vdots&vdots&ddots&vdots\1&1&1&cdots&0end{vmatrix})

    然后是我们的度数矩阵

    (egin{vmatrix}N-1&0&0&cdots&0\0&N-1&0&cdots&0\0&0&N-1&cdots&0\vdots&vdots&vdots&ddots&vdots\0&0&0&cdots&N-1end{vmatrix})

    所以说我们的基尔霍夫矩阵是N*N的下面矩阵:

    (egin{vmatrix}N-1&-1&-1&cdots&-1\-1&N-1&-1&cdots&-1\-1&-1&N-1&cdots&-1\vdots&vdots&vdots&ddots&vdots\-1&-1&-1&cdots&N-1end{vmatrix})

    然后我们开始大力跑代数余子式

    划掉第N行第N列的元素得到一个(N-1)*(N-1)的矩阵:

    (egin{vmatrix}N-1&-1&-1&cdots&-1\-1&N-1&-1&cdots&-1\-1&-1&N-1&cdots&-1\vdots&vdots&vdots&ddots&vdots\-1&-1&-1&cdots&N-1end{vmatrix})

    注意这个矩阵是(N-1)*(N-1)的

    然后对这个矩阵进行各种初等变换(初等乱搞)(以下方法参考《线性代数》)

    我们先让第一行成为所有(N-1)行的和(初等变换第三条)

    (egin{vmatrix}1&1&1&cdots&1\-1&N-1&-1&cdots&-1\-1&-1&N-1&cdots&-1\vdots&vdots&vdots&ddots&vdots\-1&-1&-1&cdots&N-1end{vmatrix})

    然后让第2~(N-1)行都加上第一行(初等变换第三条)

    (egin{vmatrix}1&1&1&cdots&1\0&N&0&cdots&0\0&0&N&cdots&0\vdots&vdots&vdots&ddots&vdots\0&0&0&cdots&Nend{vmatrix})

    消成了上三角矩阵(美滋滋)

    所以行列式就是对角线元素相乘,有1个1,(N-2)个N

    所以生成树个数为(N^{N-2})

    然后

    考虑生成树的每一条边

    小猴打架可以按照任意的顺序

    所以每一种生成树的产生顺序就是他的边的排列个数,

    ((N-1))条边所以排列为((N-1)!)

    所以最后答案是(N^{N-2}(N-1)!)

    #include <bits/stdc++.h>
    using namespace std;
    #define p 9999991
    long long n, ans = 1;
    
    int main()
    {
    	scanf("%lld", &n);
    	for (int i = 1; i <= n - 2; i++)
    		ans = ans * n % p * (i + 1) % p;
    	printf("%lld
    ", ans);
    	return 0;
    }
    

    让我们一起膜拜大佬林瑞堂@olinr

  • 相关阅读:
    微信公众号接口配置
    OFBIZ:启动之ContainerLoader
    OFBIZ:启动之StartupLoader
    Capture a Screen Shot
    在 Windows 上安装Rabbit MQ 指南
    Quartz.NET管理周期性任务
    使用Topshelf创建Windows服务
    Redirecting Console.WriteLine() to Textbox
    Greenplum 备忘
    CockroachDB 备忘
  • 原文地址:https://www.cnblogs.com/oier/p/9613038.html
Copyright © 2020-2023  润新知