bzoj#P2878. [Noi2012] 迷失游乐园

[Noi2012] 迷失游乐园

题目描述

放假了,小 Z 觉得呆在家里特别无聊,于是决定一个人去游乐园玩。

进入游乐园后,小 Z 看了看游乐园的地图,发现可以将游乐园抽象成有 nn 个景点,mm 条道路的无向连通图,且该图中至多有一个环(即 mm 只可能等于 nn 或者 n1n-1)。

小 Z 现在所在的大门也正好是一个景点。小 Z 不知道什么好玩,于是他决定,从当前位置出发,每次随机去一个和当前景点有道路相连的景点,并且同一个景点不去两次(包括起始景点)。贪玩的小 Z 会一直游玩,直到当前景点的相邻景点都已经访问过为止。小 Z 所有经过的景点按顺序构成一条非重复路径,他想知道这条路径的期望长度是多少。

小 Z 把游乐园的抽象地图画下来带回了家,可是忘了标哪个点是大门,他只好假设每个景点都可能是大门(即每个景点作为起始点的概率是一样的)。同时,他每次在选择下一个景点时会等概率地随机选择一个还没去过的相邻景点。

输入格式

第一行是两个整数 nn​ 和 mm,分别表示景点数和道路数。

接下来 mm 行,每行三个整数 xi,yi,wix_i,y_i,w_i,分别表示第 ii 条路径的两个景点为 xi,yix_i, y_i,路径长 wiw_i

所有景点的编号从 11nn,两个景点之间至多只有一条道路。

输出格式

共一行,包含一个实数,即路径的期望长度,保留五位小数。

4 3 
1 2 3 
2 3 1 
3 4 4
6.00000

样例解释

样例数据中共有 66​ 条不同的路径:

路径 长度 概率
141\to 4 88 14\frac 14
212\to 1 33 18\frac 18
242\to 4 55
313\to 1 44
343\to 4
414\to 1 88 14\frac14

数据规模与约定

对于 100%100\% 的数据,1wi1001\leq w_i\leq 100

测试点编号 n=n= m=m= 备注
11 1010 n1n-1 保证图是链状
22 100100 只有节点 11 的度数大于 22
33 10310^3 /
44 10510^5
55
66 1010 nn
77 100100 环中节点个数不超过 55
88 10310^3 环中节点个数不超过 1010
99 10510^5 环中节点个数不超过 1515
1010 环中节点个数不超过 2020​​