Luogu P1297 [国家集训队]单选错位 | 概率与期望
题解:
单独考虑每一道题目对答案的贡献。
设$g_i$表示gx在第$i$道题目的答案是否正确(1表示正确,0表示不正确),则$P(g_i=1)$表示gx在第$i$道题目的答案正确的概率。
我们要求的就是$\sum_{i=1}^{n} P(g_i=1)\times 1$。
那么我们该如何求解$P(g_i=1)$呢?
首先,结合题目可以得出以下结论:
设$s_i$为第i道题目的正确答案。
若$g_i=1$,则有$s_i=s_{i-1}$。特别地,若$g_1=1$,则有$s_n=s_1$。
反之亦然。
(为了方便,以下文字先不考虑$i=1$的情况。)
那么,对于每一个$s_i$,当$s_i=s_{i-1}$时,则有$1\leqslant s_{i-1},s_i\leqslant min(a_{i-1},a_i)$。
在$s_i=s_{i-1}$的情况下,
设$X=a_1\times a_2\times a_3\times ...\times a_n,k=s_{i-1}=s_i$,那么对于每一个$k$,都会有$\dfrac{X}{a_{i-1}a_i}$种可能的情况使$s_{i-1}=s_i=k$。
因为$k$一共能取$min(a_{i-1},a_i)$个数,所以$s_{i-1}=s_i$的总情况数即为$min(a_{i-1},a_i)\dfrac{X}{a_{i-1}a_i}$。
又因为所有的情况一共有$X$种,所以$P(g_i=1)=\dfrac{min(a_{i-1},a_i)\dfrac{X}{a_{i-1}a_i}}{X}$。
整理可得$P(g_i=1)=\dfrac{1}{max(a_{i-1},a_i)}$。
最后的答案即为$\sum_{i=2}^{n} \dfrac{1}{max(a_{i-1},a_i)}+\dfrac{1}{max(a_n,a_1)}$。
循环统计即可。
代码:
#include<iostream>
#include<cstdio>
using namespace std;
int a[10000005];
int main()
{
int n=0,A=0,B=0,C=0;
scanf("%d%d%d%d%d",&n,&A,&B,&C,&a[1]);
//按照题目所给的方式计算a[i]
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;
double ans=0;
for(int i=1;i<=n;i++)//循环统计
if(i==1) ans+=1/(double)max(a[n],a[i]);//注意当i=1时要特判!
else ans+=1/(double)max(a[i-1],a[i]);
printf("%.3f",ans);
return 0;
}
Luogu P1297 [国家集训队]单选错位 | 概率与期望的更多相关文章
- Luogu P1297 [国家集训队]单选错位
P1297 [国家集训队]单选错位 题目背景 原 <网线切割>请前往P1577 题目描述 gx和lc去参加noip初赛,其中有一种题型叫单项选择题,顾名思义,只有一个选项是正确答案.试卷上 ...
- 洛谷P1297 [国家集训队]单选错位_数学期望
考虑第 iii 位, 那么当前共有 a[i]a[i]a[i] 种选项,那么当前选项正确的情况就是下一个被误填的答案与当前答案相同.换句话说,当前答案一共有 a[i]a[i]a[i] 种可能,而下一个答 ...
- P1297 [国家集训队]单选错位(期望)
P1297 [国家集训队]单选错位 期望入门 我们考虑涂到第$i$道题时的情况 此时题$i$答案有$a[i]$种,我们可能涂$a[i+1]$种 分类讨论: 1.$a[i]>=a[i+1]$: 可 ...
- P1297 [国家集训队]单选错位
题目背景 原 <网线切割>请前往P1577 题目描述 gx和lc去参加noip初赛,其中有一种题型叫单项选择题,顾名思义,只有一个选项是正确答案.试卷上共有n道单选题,第i道单选题有ai个 ...
- BZOJ.2134.[国家集训队]单选错位(概率 递推)
题目链接 如题目中的公式,我们只要把做对每个题的概率加起来就可以了(乘个1就是期望). 做对第i道题的概率 \[P_i=\frac{1}{max(a_{i-1},a_i)}\] 原式是 \(P_i=\ ...
- BZOJ2134 luoguP1297 [国家集训队]单选错位
单选错位 [问题描述] gx和lc去参加noip初赛,其中有一种题型叫单项选择题,顾名思义,只有一个选项是正确答案.试卷上共有n道单选题,第i道单选题有ai个选项,这ai个选项编号是1,2,3,…,a ...
- luogu P2757 [国家集训队]等差子序列
题目链接 luogu P2757 [国家集训队]等差子序列 题解 线段树好题 我选择暴力 代码 // luogu-judger-enable-o2 #include<cstdio> inl ...
- luogu P2619 [国家集训队2]Tree I
题目链接 luogu P2619 [国家集训队2]Tree I 题解 普通思路就不说了二分增量,生成树check 说一下坑点 二分时,若黑白边权有相同,因为权值相同优先选白边,若在最有增量时出现黑白等 ...
- [Luogu P1829] [国家集训队]Crash的数字表格 / JZPTAB (莫比乌斯反演)
题面 传送门:洛咕 Solution 调到自闭,我好菜啊 为了方便讨论,以下式子\(m>=n\) 为了方便书写,以下式子中的除号均为向下取整 我们来颓柿子吧qwq 显然,题目让我们求: \(\l ...
随机推荐
- 关于vue-cli的安装
(一):*安装 vue-cli 参考: https://cn.vuejs.org/v2/guide/installation.html https://github.com/vuejs/vue-cli ...
- java版gRPC实战之七:基于eureka的注册发现
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 修改 CubeMX 生成的 RT-Thread makefile 工程
修改 CubeMX 生成的 RT-Thread makefile 工程 使用 RT-Thread 官方 基于 CubeMX 移植 RT-Thread Nano 生成的 Makefile 工程在编译时有 ...
- PHP中的输出:echo、print、printf、sprintf、print_r和var_dump
大家在面试中,经常会被问到的问题: 请简要说明PHP的打印方式都有哪些? 或者直接点问: 请说明echo.print.print_r的区别 看着很简单,一般会出现在初中级的笔试题中.但是要真正说明白这 ...
- 网站URL Rewrite(伪静态)设置方法
1.如果您的服务器支持.htaccess,则无需设置,网站根目录下的.htaccess已经设置好规则.规则详情:http://download.destoon.com/rewrite/htaccess ...
- xmind使用技巧
xmind看似每个人都会使用,但是掌握一些小技巧,能够有效提升工作效率. 多行复制粘贴 在xmind中选中多行,复制然后可以直接粘贴到excel.word当中. 在excel.word选中多行,复制然 ...
- python 语法规范
在python shell 中输入 import this 可以看到python之禅 The Zen of Python, by Tim Peters Beautiful is better than ...
- Jenkins无法登陆解决方案
Jenkins-2.204.1 版本 创建jenkins用户时,没填full name,且选择了使用系统的admin登录或者是admin登录只是改了admin的登录密码导致登录不上去(Invalid ...
- State Space Model Content
State Space Model 状态空间模型及其卡尔曼滤波技术 混合正态分布下的状态空间模型及其滤波
- 【.NET 与树莓派】气压传感器——BMP180
BMP180 是一款数字气压计传感器,实际可读出温度和气压值.此模块使用 IIC(i2c)协议.模块体积很小,比老周的大拇指指甲还小:也很便宜,一般是长这样的.螺丝孔只开一个,也有开两个孔的. 这货基 ...