[2017集训队作业自选题#149]小c的岛屿

前言

感觉这题挺棒棒的。

题目描述

小c有n个岛屿。她为了管理岛上的人,决定让这些岛屿连通。
每个岛屿i有一个概率值pi,和一个友好列表Ai。
小c首先来到了1号岛屿,她会依次执行下面操作:
1、设现在在岛屿x,有px的概率产生一条无向边连接两个随机岛屿,这两个岛屿不会相同,也不会已经有边相连。(即在尚不存在的无向边中随机一条加入图中,不会加自环)
2、如果此时所有岛屿连通,她就会心满意足地离开。
3、否则她会在当前点的友好列表中,随机选择一个,走到那座岛屿上。她的不满意度会+1,并重复第1步。
求小c的期望不满意度。
题目中的概率都是在模10^9+7域下给出的,答案也需要在模域下求。
即,设答案是a/b,b的逆元是x,你需要输出ax mod 10^9+7的值。

n^6做法

我们设e(x,i)表示当前在x号点,已经连了i条边,还要期望经过多少步才能使图联通。
我们设q表示i条边不连通的图在加入了一条不重复的边之后联通的概率。
设dx表示点x的度数。
那么 e(x,i)=px(1q)1dxx>y(e(y,i+1)+1)+(1px)1dxx>y(e(y,i)+1)
我们分层来做,可以注意到如果q能够求出,每层内可以高斯消元。
那么复杂度是m*n^3=n^5。
现在问题是这个q怎么求。
显然 q=i+1(n(n1)/2i)i

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值