BZOJ2134单选错位 概率DP
Posted TS_Hugh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BZOJ2134单选错位 概率DP相关的知识,希望对你有一定的参考价值。
一句话:有一些看似有关系的期望在把事件全面发生之后就变得相互独立了
#include<cstdio> using namespace std; int n,A,B,C,a[10000001]; double ans; int main() { scanf("%d%d%d%d%d",&n,&A,&B,&C,a+1); for(int i=2;i<=n;i++)a[i]=((long long)a[i-1]*A+B)%100000001; for(int i=1;i<=n;i++)a[i]=a[i]%C+1; if(!(a[1]==0||a[n]==0)) { if(a[1]>=a[n])ans+=1.0/a[1]; else ans+=1.0/a[n]; } for(int i=2;i<=n;i++) { if(a[i]==0||a[i-1]==0)continue; if(a[i]>=a[i-1])ans+=1.0/a[i]; else ans+=1.0/a[i-1]; } printf("%.3lf",ans); return 0; }
以上是关于BZOJ2134单选错位 概率DP的主要内容,如果未能解决你的问题,请参考以下文章