题目链接
解题方法:prim+heap + DFS
题目分析
题目大意
一个国王在一个图中新建一个最小生成树,然后算任意两个不同点之间距离的期望。
解析
最小生成树不难生成,使用prim即可,但是第一发交上去就t了,所以采用了prim+heap进行优化,结果还是T了,我不禁深深的陷入了沉思,神奇的是,第二天相同的代码就变成了wa了。
言归正传,大概分为两步走,第一步先建立最小生成树,第二步算距离的期望。任选一条边可以发现一个规律,经过该边的次数是两个端点作为根节点行程的子数元素数的乘积。
了解了这个规律之后,新建出来的树跑一遍DFS,处理出所有节点所领导的子数的元素数量,然后相加除以总情况的数量即可。
注意数据范围!
注意数据范围!
注意数据范围!
正好今天也总结一下各个类型变量的数据范围:
类型 | 数据范围 | 计数法表示 |
---|---|---|
int | -2147483648~2147483647 | -2*109~2*109 |
long long | 9223372036854775807~-9223372036854775808 | -9 *1018~9*1018 |
double | 10308 | |
0x3f3f3f3f | 1061109567 | 109 |
代码
ac代码
1 |
|
标程
1 |
|