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 ...
随机推荐
- 【PHP数据结构】插入类排序:简单插入、希尔排序
总算进入我们的排序相关算法的学习了.相信不管是系统学习过的还是没有系统学习过算法的朋友都会听说过许多非常出名的排序算法,当然,我们今天入门的内容并不是直接先从最常见的那个算法说起,而是按照一定的规则一 ...
- Linux系列(14) - grep
简述 grep是在文件当中匹配符合条件的字符串,作用是查找文件内容 格式 grep [选项] 字符串 文件名 选项 -i:忽略大小写 -v:排除指定字符串 -n:显示行号 例子 grep " ...
- jmeter之命令行执行jmx脚本
使用界面执行不稳定,且保存报告非常麻烦 https://www.jb51.net/article/191367.htm 作者:Anthony_tester 来源:CSDN 原文:https://blo ...
- javascript 继承 inheritance prototype
* Rectangle继承Shape function Shape() { this.x = 0; this.y = 0; } Shape.prototype.move = function(x, ...
- POJ3734-Blocks【EGF】
正题 题目链接:http://poj.org/problem?id=3734 题目大意 用思种颜色给\(n\)个格子染色,要求前两种颜色出现偶数次,求方案. \(1\leq T\leq 100,1\l ...
- mybatis中#{}与${}取值的区别
1. 首先对于一个接口 Employee getEmpByIdAndName(@Param("id") Integer id,@Param("empName") ...
- aizhan查询旁IP网站脚本
<?php print_r("-------------------------\r\n"); print_r("-------爱站旁站查询------\r\n&q ...
- 数据库MySQL主从-GTID
1.第一步在主服务器上/etc/my.cnf/下添加 log-bin=log-bin server-id=1 gtid_mode=ON enforce_gtid_consistency 2.第二步:重 ...
- xLua中Lua调用C#
xLua中Lua调用C# 1.前提 这里使用的是XLua框架,需要提前配置xlua,设置加载器路径: 可以参考之前的Blog:<xlua入门基础>: //调用段,所有的lua代码都写在Lu ...
- 某个buuctf的题(easy_tornado)
题目:http://88099f53-12b6-470a-9993-b73e4155940e.node3.buuoj.cn/ 1首先看三个文件的内容 2简单分析 如果出题人没整一些花里胡哨的,那么fl ...