P8774 [蓝桥杯 2022 省 A] 爬树的甲壳虫
题解
设
- \(E_i\) 为树根到高度为 \(i\) 的点的期望用时
- \(P_i\) 为 \(i-1\) 到 \(i\) 时,掉下去概率
则有
\(E_i=E_{i-1}+1+(1-P_i) \cdot 0+ P_i \cdot E_i\)
式子解读:
当我花一单位时间到i点时,有p的概率掉下去重新来,有1-p的概率保持住了i点
所以
\(E_i = \frac{E_{i-1}+1}{1-p}\)
code
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll mod=998244353;
ll ny(ll x)
{
ll res=1;
ll len=mod-2;
while(len)
{
if(len&1)res=res*x%mod;
x=x*x%mod;
len>>=1;
}
return res;
}
int main()
{
ll n;
cin>>n;
ll e=0;
for(ll i=1;i<=n;i++)
{
ll x,y;
cin>>x>>y;
e=(e+1LL)*ny(1LL-x*ny(y)%mod+mod)%mod;
}
cout<<e;
return 0;
}

浙公网安备 33010602011771号