设f(k)为从0~k的时间期望,f(k)可以从f(k-1)两种方式转移过来。
f(k)=(f(k-1)+1 花了1时间 )*(1-p)+ (f ( k-1 ) + 1 )+f ( k )) * p
爬上去花的时间+从0~k的时间
#include<iostream>
#include<algorithm>
using namespace std;
#define ll long long
ll res;
const int mod=998244353;
ll qmi(ll a,ll k){
ll res=1;
while(k){
if(k&1) res=(ll)res*a%mod; //k
k>>=1;
a=(ll)a*a%mod;
}
return res;
}
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i ++ ){
int x,y;
cin >> x>>y;
x=y-x;
y=y*(res+1)%mod;
res=y*qmi(x,mod-2)%mod;
}
cout << res<<endl;
return 0;
}