首页 > 代码库 > [BZOJ 3143][HNOI2013]游走(数学期望)

[BZOJ 3143][HNOI2013]游走(数学期望)

题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3143

分析:

易得如果知道了每条边经过的数学期望,那就可以贪心着按每条边的期望的大小赋值,所以问题就是如何求每条边的期望。

直接求没办法求的,可以先求出每个点经过的期望。

易得f[i]=∑f[j]/d[j] j->i有边

特殊的,对于起点,因为刚开始就在,所以应该是f[1]=1+∑f[j]/d[j];对于终点,到了终点后不能再到其他节点,所以对其他边并没有贡献,所以f[n]=0

然后就可以高斯消元解方程组,解得每个点的期望

那么对于边(u,v),这个边的期望(即经过次数)就是f[u]/d[u]+f[v]/d[v]

那么对于每个边的期望排序,期望小的对应编号大的,计算一下就行了。(排序不等式)

[BZOJ 3143][HNOI2013]游走(数学期望)