Codeforces 1109D: generalizations of Cayley's formula证明
做这题的时候发现题解里有提到\(generalizations\ of\ Cayley's\ formula\)的,当场懵逼,Wikipedia里也就带到了一下,没有解释怎么来的,然后下面贴了篇论文。
大概就是\(n\)个点\(k\)个联通块的森林,\(1,2,\cdots,k\)属于不同的联通块,这样不同的方案数共有\(k\cdot n^{n-k-1}\)种。
我自己用\(Prüfer\)序列脑补了半天没搞懂怎么来的,始终觉得感性理解是\(n^{n-k}\),然后就去看了下那个证明。
用\(F(n,k)\)表示那个方案数(\(n,k\)与前面意义相同),我们要证明
\[F(n,k)=k\cdot 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,但感觉这个证明还挺精巧的。
Codeforces 1109D: generalizations of Cayley's formula证明的更多相关文章
- Prufer codes与Generalized Cayley's Formula学习笔记
\(Prufer\)序列 在一棵\(n\)个点带标号无根树里,我们定义这棵树的\(Prufer\)序列为执行以下操作后得到的序列 1.若当前树中只剩下两个节点,退出,否则执行\(2\) 2.令\(u\ ...
- Prufer codes与Generalized Cayley's Formula
Prufer序列 在一棵n个节点带标号树中,我们认为度数为1的点为叶子.n个点的树的Prufer序列是经过下面流程得到的一个长度为n-2的序列. 1.若当前树中只剩下两个点,退出,否则执行2. 2.找 ...
- Codeforces 1109D. Sasha and Interesting Fact from Graph Theory
Codeforces 1109D. Sasha and Interesting Fact from Graph Theory 解题思路: 这题我根本不会做,是周指导带飞我. 首先对于当前已经有 \(m ...
- Codeforces Round #801 (Div. 2) C(规律证明)
Codeforces Round #801 (Div. 2) C(规律证明) 题目链接: 传送门QAQ 题意: 给定一个\(n * m\)的矩阵,矩阵的每个单元的值为1或-1,问从\((1,1)\)开 ...
- Codeforces Gym 100610 Problem E. Explicit Formula 水题
Problem E. Explicit Formula Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/10 ...
- codeforces 1269D. Domino for Young (二分图证明/结论题)
链接:https://codeforces.com/contest/1269/problem/D 题意:给一个不规则的网格,在上面放置多米诺骨牌,多米诺骨牌长度要么是1x2,要么是2x1大小,问最多放 ...
- Codeforces 1109D. Sasha and Interesting Fact from Graph Theory 排列组合,Prufer编码
原文链接https://www.cnblogs.com/zhouzhendong/p/CF1109D.html 题意 所有边权都是 [1,m] 中的整数的所有 n 个点的树中,点 a 到点 b 的距离 ...
- Codeforces 1109D Sasha and Interesting Fact from Graph Theory (看题解) 组合数学
Sasha and Interesting Fact from Graph Theory n 个 点形成 m 个有标号森林的方案数为 F(n, m) = m * n ^ {n - 1 - m} 然后就 ...
- Sasha and Interesting Fact from Graph Theory CodeForces - 1109D (图论,计数,Caylay定理)
大意: 求a->b最短路长度为m的n节点树的个数, 边权全部不超过m 枚举$a$与$b$之间的边数, 再由拓展$Caylay$定理分配其余结点 拓展$Caylay$定理 $n$个有标号节点生成k ...
随机推荐
- [Scrapy] Some things about Scrapy
1. Pause and resume a crawl Scrapy supports this functionality out of the box by providing > the ...
- MongoDB 学习笔记之 索引
索引: db.media.createIndex({"Tracklist": 1}) 1表示升序 -1表示降序 我们要着重看一下对数组创建索引的情况. 构建一个集合:db.medi ...
- 快学Scala 第十一课 (类继承)
类继承: class People { } class Emp extends People{ } 和Java一样,final的类不能被继承.final的字段和方法不能被override. 在Scal ...
- 2019 中国.NET 开发者峰会正式启动
2014年微软组织并成立.NET基金会,微软在成为主要的开源参与者的道路上又前进了一步.2014年以来已经有众多知名公司加入.NET基金会,Google,微软,AWS三大云厂商已经齐聚.NET基金会, ...
- fiddler抓包-快速找到准确的接口与断点介绍
前言: 相信有不少小伙伴提出,如果一堆杂七杂八的接口在fiddler显示,眼花缭乱的该怎么办?本篇文章小编给大家带来的内容是: 1.fiddler中设置域名过滤,使得快速定位你需要的接口: 2.断点, ...
- .net core 3.0 WPF中使用FolderBrowserDialog
前言 随着.net core 3.0 的发布,WPF 也可以在 core 平台上使用了.当前的 WPF 不支持跨平台,仅能够在 Windows 平台上使用.如果想体验 WPF 跨平台开发,可以访问开源 ...
- from..import 语句
from..import 语句 如果你希望直接将 argv 变量导入你的程序(为了避免每次都要输入 sys.),那么你可以通过使用 from sys import argv 语句来实现这一点. 警告: ...
- u盘安装操作系统相关
首先使用相关软件制作u盘启动盘,将所需要的系统镜像安装到u盘中 此时u盘中会出现一个EFI区(window可以看到,window7看不到,可以隐藏) 简单来说这个EFI分区中装的是一个低价的操作系统, ...
- web安全之点击劫持
点击劫持(ClickJacking)是一种视觉上的欺骗手段.大概有两种方式, 一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明 ...
- Vulnhub靶场渗透练习(一) Breach1.0
打开靶场 固定ip需要更改虚拟机为仅主机模式 192.168.110.140 打开网页http://192.168.110.140/index.html 查看源代码发现可以加密字符串 猜测base64 ...