Time Limit: 10 Sec  Memory Limit: 259 MB
Submit: 1101  Solved: 851
[Submit][Status][Discuss]

Description

Input

n很大,为了避免读入耗时太多,
输入文件只有5个整数参数n, A, B, C, a1,
由上交的程序产生数列a。
下面给出pascal/C/C++的读入语句和产生序列的语句(默认从标准输入读入): 
// for pascal 
readln(n,A,B,C,q[1]); 
for i:=2 to n do q[i] := (int64(q[i-1]) * A + B) mod 100000001; 
for i:=1 to n do q[i] := q[i] mod C + 1; 
 
// for C/C++ 
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; 
选手可以通过以上的程序语句得到n和数列a(a的元素类型是32位整数),
n和a的含义见题目描述。
 2≤n≤10000000, 0≤A,B,C,a1≤100000000

Output

输出一个实数,表示gx期望做对的题目个数,保留三位小数。

Sample Input

3 2 0 4 1

Sample Output

1.167
【样例说明】
a[] = {2,3,1}
正确答案 gx的答案 做对题目 出现概率
{1,1,1} {1,1,1} 3 1/6
{1,2,1} {1,1,2} 1 1/6
{1,3,1} {1,1,3} 1 1/6
{2,1,1} {1,2,1} 1 1/6
{2,2,1} {1,2,2} 1 1/6
{2,3,1} {1,2,3} 0 1/6
共有6种情况,每种情况出现的概率是1/6,gx期望做对(3+1+1+1+1+0)/6 = 7/6题。(相比之下,lc随机就能期望做对11/6题)

HINT

 

Source

时隔19260817年之后第一次自己做出BZOJ的题目QWQ

我的思路:

首先对于每一个位置的期望都是独立的

然后就可以凑推出这个位置和它前一个位置的贡献

为$min(1/a[i],1/a[pre(i)])$

其实挺显然的

#include<cstdio>
#include<cstring>
#include<algorithm>
//#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,MAXN,stdin),p1==p2)?EOF:*p1++)
using namespace std;
const int MAXN=1e7+;
char buf[<<],*p1=buf,*p2=buf;
inline int read()
{
char c=getchar();int x=,f=;
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
}
int N,A,B,C;
int a[MAXN];
int pre(int x)
{
return x==?N:x-;
}
int main()
{
#ifdef WIN32
freopen("a.in","r",stdin);
#endif
N=read(),A=read(),B=read(),C=read(),a[]=read();
for (int i=;i<=N;i++) a[i] = ((long long)a[i-] * A + B) % ;
for (int i=;i<=N;i++) a[i] = a[i] % C + ;
double ans=;
for(int i=;i<=N;i++)
ans+=(double)min((double)/a[i],(double)/a[pre(i)]); printf("%.3lf",ans);
return ;
}

BZOJ2134: 单选错位(期望乱搞)的更多相关文章

  1. bzoj2134单选错位

    bzoj2134单选错位 题意: 试卷上n道选择题,每道分别有ai个选项.某人全做对了,但第i道题的答案写在了第i+1道题的位置,第n道题答案写在第1题的位置.求期望能对几道.n≤10000000 题 ...

  2. BZOJ_2134_单选错位——期望DP

    BZOJ_2134_单选错位——期望DP 题意: 分析:设A为Ai ∈ [1,ai+1] 的概率,B为Ai = A(imodn+1)的概率显然P(A|B) = 1,那么根据贝叶斯定理P(B) = P( ...

  3. BZOJ 2134: 单选错位( 期望 )

    第i个填到第i+1个的期望得分显然是1/max(a[i],a[i+1]).根据期望的线性性, 我们只需将每个选项的期望值累加即可. ---------------------------------- ...

  4. Bzoj 2134: [国家集训队2011]单选错位(期望)

    2134: 单选错位 Time Limit: 10 Sec Memory Limit: 259 MB Description Input n很大,为了避免读入耗时太多,输入文件只有5个整数参数n, A ...

  5. 【bzoj2134】单选错位 期望

    题目描述 输入 n很大,为了避免读入耗时太多,输入文件只有5个整数参数n, A, B, C, a1,由上交的程序产生数列a.下面给出pascal/C/C++的读入语句和产生序列的语句(默认从标准输入读 ...

  6. BZOJ2134——单选错位

    1.题意:这就是说考试的时候抄串了一位能对几个(雾) 2.分析:这是一个期望问题,期望就是平均,E(a+b)=E(a)+E(b),所以我们直接算出每个点能对几个就好,那么就是1/max(a[i],a[ ...

  7. 【BZOJ】2134: 单选错位 期望DP

    [题意]有n道题,第i道题有ai个选项.把第i道题的正确答案填到第i+1道题上(n填到1),问期望做对几道题.n<=10^7. [算法]期望DP [题解]正确答案的随机分布不受某道题填到后面是否 ...

  8. 洛谷P1297 单选错位——期望

    题目:https://www.luogu.org/problemnew/show/P1297 读懂题后就变得很简单啦: 对于一个问题和它的下一个问题,我们考虑: 设上一个问题有 a 个选项,下一个问题 ...

  9. BZOJ2134: 单选错位

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2134 题解:因为每个答案之间是互不影响的,所以我们可以挨个计算. 假设当前在做 i 题目,如果 ...

随机推荐

  1. C# 网页内容获取

    private string GetGeneralContent(string strUrl) { string strMsg = string.Empty; try { WebRequest req ...

  2. PAT_A1110#Complete Binary Tree

    Source: PAT A1110 Complete Binary Tree (25 分) Description: Given a tree, you are supposed to tell if ...

  3. appium+python,app自动化测试框架

    目前正在写一个app的自动化UI测试框架,目录结构如, 脚本还在调试,实现的方法是从excel表格读取测试用例,执行完成后会将结果保存到Excel中. 等待.......

  4. appium分层自动化的封装

    1.创建一个case包,start_app的python文件 #coding=utf-8from appium import webdriverfrom util.read_init import R ...

  5. 移动端自动化测试-WTF Appium

    手机App分为两大类,原生App(Native App)和混合APP(Hybrid App) 原生App(Native App) 原生App实际就是我们所常见的传统App开发模式,云端数据存储+App ...

  6. github+hexo(window10)

    一.申请github账户 二.先安装node.js.git 本地: 三.安装hexo(建立静态网页,用Markdown写博客) 1.创建文件地址 在合适的地方新建一个文件夹,用来存放自己的博客文件,比 ...

  7. Llinux,NFS服务搭建(文件共享)

    NFS配置文件权限参数说明(/etc/exports) 1.rw :表示可读写权限. 2.ro :表示只读权限. 3.sync :请求或写入数据时,数据同步写入到NFS Server的硬盘后才返回.( ...

  8. 爬虫系列(二) Chrome抓包分析

    在这篇文章中,我们将尝试使用直观的网页分析工具(Chrome 开发者工具)对网页进行抓包分析,更加深入的了解网络爬虫的本质与内涵 1.测试环境 浏览器:Chrome 浏览器 浏览器版本:67.0.33 ...

  9. 编码的由来,ASCII编码,和字节的形成

    一.编码的由来 计算机只能计算和识别二进制,必须让计算机识别文字,才能和计算机进行交互,彼此也才能通过计算机通信. 由此,有了ASCII编码的诞生,它起始于50年代后期,在1967年定案,是最初美国国 ...

  10. 1010针对一个binlog日志的分析

    针对一个BINLOG日志的分析 -- 当前binlog_format | ROW[root@109 mysql]# cat wang1010.txt/*!50530 SET @@SESSION.PSE ...