Gym102028G Shortest Paths on Random Forests 生成函数、多项式Exp
传送门
神仙题……
考虑计算三个部分:1、\(n\)个点的森林的数量,这个是期望的分母;2、\(n\)个点的所有森林中存在最短路的点对的最短路径长度之和;3、\(n\)个点的所有路径中存在最短路的点对的个数之和,这个是用来计算需要取到\(m\)的点对的数量。
对于1,这个就直接对着树的数量的EGF做多项式exp即可。因为点之间有序所以用EGF,\(n\)个点的树的数量由Cayley定理就是\(n^{n-2}\)。
对于3,考虑枚举一个连通块大小,那么这种连通块大小的所有树的存在最短路的点对之和就是\(n^{n-2} \binom{n}{2}\)。然后我们需要求这个连通块在哪些森林中出现过,我们就需要拼一个森林进去,所以直接拿这个的EGF跟1中求出来的多项式做一个卷积就可以了。
对于2,发现那个平方不是很好搞,于是可以考虑平方的组合意义,实际上就是在\(i,j\)路径上的边上有序地任取两条边。我们可以考虑先枚举两条边,然后再考虑这两条边会在哪些路径上做出贡献。注意到两条不重合的边会把树分为三个连通块,而两条重合的边会分为两个连通块,那么我们可以再次交换求和顺序,先枚举两个/三个连通块,然后考虑如何在这两个/三个连通块之间连边、选择\(i,j\)。
考虑三个连通块的情况,两个连通块的情况类似。注意到如果三个连通块大小为\(a_1,a_2,a_3\),边固定为1连向2、2连向3,\(i\)在1、\(j\)在3,那么连边的方式就有\(a_1a_2 \times a_2a_3\)种,选择起点的方式有\(a_1\)种,选择终点的方式有\(a_3\)种,那么总贡献就是\(a_1^2a_2^2a_3^2\),只和连通块大小有关。不难再构造一个生成函数,每个位置表示大小为\(x\)的连通块的贡献,那么这个生成函数的平方和三次方就是选择两个连通块和三个连通块的方案。
那么我们就只要考虑这个连通块会出现在哪些森林里,和3过程一样卷上1求出来的多项式就可以了。
值得注意的一点是,求2的过程中,因为有序枚举这两条边是存在两种方案的,所以选择三个连通块的所有方案需要乘上2;在求2的过程中,点对\(i,j\)和点对\(j,i\)都会被计算,所以2的所有答案还要除以2。
代码
转载于:https://www.cnblogs.com/Itst/p/11006311.html
Gym102028G Shortest Paths on Random Forests 生成函数、多项式Exp相关推荐
- CF Gym102028G Shortest Paths on Random Forests
传送门 这题要求的期望,就是总权值(所有不在同一个连通块点对的贡献+同一连通块点对的贡献)/总方案(森林个数) 先求森林个数,森林是由一堆树组成的,而根据purfer序列,一棵\(n\)个点的有标号的 ...
- P4389-付公主的背包【生成函数,多项式exp】
正题 题目链接:https://www.luogu.com.cn/problem/P4389 题目大意 nnn种物品,第iii种大小为viv_ivi,数量无限.对于每个s∈[1,m]s\in[1,m ...
- 【随机森林】random forests 简单介绍
Random Forest,顾名思义 Random 就是随机抽取: Forest 就是说这里不止一棵树,而由 一群决策树组成的一片森林 ,连起来就是用随机抽取的方法训练出一群决策树来完成分类任务. R ...
- (每日一题)P4841 [集训队作业2013]城市规划 (无向连通图计数)(普通生成函数 + 多项式求逆)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 每日一题(莫反 / 多项式 / 母函数 / 群论) 2021.4.14 生成函数 + 多项式求逆 Pr ...
- R语言使用randomForest包构建随机森林模型(Random forests)、使用importance函数查看特征重要度、使用table函数计算混淆矩阵评估分类模型性能、包外错误估计OOB
R语言使用randomForest包中的randomForest函数构建随机森林模型(Random forests).使用importance函数查看特征重要度.使用table函数计算混淆矩阵评估分类 ...
- Introduction to random forests
2019独角兽企业重金招聘Python工程师标准>>> 1: Introduction In the past three missions, we learned about de ...
- Random Forests
Random Forests http://www.stat.berkeley.edu/~breiman/RandomForests/
- 最短路径(Shortest Paths)
最短路径 最短路径(Shortest Paths) 最短路径问题一直是图论研究的热点问题.例如在实际生活中的路径规划.地图导航等领域有重要的应用.关于求解图的最短路径方法也层出不穷,本篇文章将详细讲解 ...
- 生成函数多项式操作合集
一.生成函数与多项式乘法. 众所周知,生成函数是OI中的计数利器,而很多生成函数的题目需要快速计算式子中的多项式运算,所以本篇主要是介绍多项式运算的. 值得注意的是,这里很多奇怪的多项式运算本来是不存 ...
- (Shortest Paths Algorithm)
最短路算法(Shortest Paths Algorithm) 假如你有一张地图,地图上给出了每一对相邻城市的距离,从一个地点到另外一个地点,如何找到一条最短的路? 最短路算法要解决的就是这类问题.定 ...
最新文章
- linux iptables常用命令之配置生产环境iptables及优化
- matlab实现将一个文件夹里面的pcm文件依次合并成一个信号的函数
- PHP10段常用功能代码
- 排序算法——单链表快速排序(划分函数从一边划分)
- 初探IdentityServer4(客户端模式)
- .NET Core 3.0之深入源码理解Kestrel的集成与应用(一)
- 不想被时代抛弃,就别远离一线
- sql server 2014 判断一个列某个字段是否相同_Select * from user的千层套路——一个sql是如何执行的...
- Mysql 数据库学习笔记04 函数
- zookeeper之理论基础
- css重新认识(2)
- MySQL内核月报 2014.11-MySQL· 5.7改进·Recovery改进
- k8s-calico
- PDF转图片文字丢失问题解决
- Android6.0之AMS启动
- 教你如何清除计算机病毒
- PRCV2018|美图短视频实时分类挑战赛冠军解决方案介绍
- 英雄联盟7月23日维修服务器,英雄联盟7月23日更新维护到几点结束 7月23日lol10.15版本更新维护结束时间...
- Mapbox简易入门教程
- JMeter压力测试(一)