本文主要是介绍#概率、数学期望#洛谷 1297 单选错位,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
分析
那么这道题的概率期望应该是 ∑ m i n ( a , b ) a b = ∑ 1 m a x ( a , b ) \sum\frac{min(a,b)}{ab}=\sum\frac{1}{max(a,b)} ∑abmin(a,b)=∑max(a,b)1
所以直接模拟就可以了
代码
#include <cstdio>
#define rr register
using namespace std;
typedef long long ll;
double ans;
inline ll max(ll a,ll b){return a>b?a:b;}
inline ll modd(ll x,ll mod){rr int f=1;if (x<0) x=-x,f=-f;if (x>=(mod<<4)) x=(x-(mod<<4))%mod;else {x-=(x>=(mod<<3)?(mod<<3):0);x-=(x>=(mod<<2)?(mod<<2):0);x-=(x>=(mod<<1)?(mod<<1):0);x-=(x>=(mod<<0)?(mod<<0):0);}return x*f;
}
signed main(){rr ll n,t1,t2,t3,now,ls,x;scanf("%lld%lld%lld%lld%lld",&n,&t1,&t2,&t3,&now); ls=now;while (--n){x=modd(ls*t1+t2,100000001);ans+=1.0/max(modd(x,t3)+1,modd(ls,t3)+1);ls=x;}ans+=1.0/max(modd(now,t3)+1,modd(ls,t3)+1);return !printf("%.3lf",ans);
}
这篇关于#概率、数学期望#洛谷 1297 单选错位的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!