AT1445 乱数生成 题解
Description
有一个机器会等概率从 \(1\) 到 \(n\) 的正整数中选出一个整数。显然地,这个机器运行 \(3\) 次后会得到 \(3\) 个整数。求这 \(3\) 个整数的中位数是 \(k\) 的概率。
数据范围:\(1\leqslant k\leqslant n\leqslant 10^6\)。
Solution
发现自己快到 CSP 了完全不会概率,于是随便在 AtCoder 上面找了个题玩玩。
首先我们发现,由于选取的整数个数为奇数,那么要想这 \(3\) 个数为 \(k\),选取的三个数中至少应该有一个数是 \(k\)。
我们不妨设所选的 \(3\) 个正整数为 \(a,b,c\),然后对 \(a,b,c\) 的取值情况进行分类讨论。以下设 \(p\) 为任意不等于 \(k\) 的正整数。
\(a=b=c=k\)。
显然,只有一种情况能够满足这个要求。\(a,b,c\) 中恰好有 \(2\) 个整数为 \(k\)。
显然,从其余的 \(n-1\) 个正整数中选出一个数都能够满足这类条件。然后考虑一般的情况,由于不同的排列有 \((k,k,p)\),\((k,p,k)\) 和 \((p,k,k)\) 三种,因此这类下一共有 \(3(n-1)=3n-3\) 种情况。\(a,b,c\) 中恰好有 \(1\) 个整数为 \(k\)。
另外一个数要么是在 \([1,k-1]\) 中(也就是有 \(k-1\) 种不同的取值情况),要么是在 \([k+1,n]\) 中(也就是有 \(n-k\) 种不同的取值情况)。又由于不同的排列一共有 \((k,p_1,p_2)\),\((k,p_2,p_1)\),\((p_1,k,p_2)\),\((p_2,k,p_1)\),\((p_1,p_2,k)\) 和 \((p_2,p_1,k)\) \(6\) 种,因此这类下一共有 \(6(k-1)(n-k)=6nk-6k^2-6n+6k\) 种情况。
把上面这三类整合在一起,因此一共有 \(6nk-6k^2-6n+6k+3n-3+1=6nk-6k^2-3n+6k-2\) 种情况。又因为所有不同的情况一共有 \(n^3\) 种。因此概率为:
\]
注意在代码实现中,由于允许的误差很小,答案需要用 long double 储存以保证精度。
代码就不贴了。
AT1445 乱数生成 题解的更多相关文章
- C#版 - Leetcode 633. 平方数之和 - 题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - L ...
- [CQOI2014]数三角形 题解(组合数学+容斥)
[CQOI2014]数三角形 题解(数论+容斥) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1328780 链接题目地址:洛谷P3166 BZOJ 350 ...
- [CQOI2014]数三角形 题解(找规律乱搞)
题面 其实这道题不用组合数!不用容斥! 只需要一个gcd和无脑找规律(滑稽 乍一看题目,如果单纯求合法三角形的话情况太多太复杂,我们可以从局部入手,最终扩展到整体. 首先考虑这样的情况: 类似地,我们 ...
- 洛谷P1066 2^k进制数(题解)(递推版)
https://www.luogu.org/problemnew/show/P1066(题目传送) (题解)https://www.luogu.org/problemnew/solution/P106 ...
- CodeForces 509C Sums of Digits(贪心乱搞)题解
题意:a是严格递增数列,bi是ai每一位的和,告诉你b1~bn,问你怎样搞才能让an最小 思路:让ai刚好大于ai-1弄出来的an最小.所以直接模拟贪心,如果当前位和前一个数的当前位一样并且后面还能生 ...
- 洛谷【P2022 有趣的数】 题解
题目链接 https://www.luogu.org/problem/P2022 题目描述 让我们来考虑1到N的正整数集合.让我们把集合中的元素按照字典序排列,例如当N=11时,其顺序应该为:1,10 ...
- Gym 101480I Ice Igloos(思维乱搞)题解
题意:给个最多500 * 500的平面,有半径最多不为1的n个圆,现在给你1e5条线段,问你每条线段和几个圆相交,时限10s 思路: 因为半径<1,那么我其实搜索的范围只要在线段附近就好了.x1 ...
- T66099 小xzy的数对 题解
T66099 小xzy的数对 题目背景 老师带同学参加表演,要求学生两两一组表演,但有些学生一起会发生冲突,现在老师想知道有多少组学生分到一起时不会发生冲突. 题目描述 学生发生冲突当且仅当他们身上的 ...
- Hdoj 2084.数塔 题解
Problem Description 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大 ...
随机推荐
- idea添加插件后重启后报错:cannot load project xxxx 解决方案
问题原因:新安装的idea下载插件后重启报错 找到windows上c:\Users\.IntelliJIdea<版本>\config\plugins\这个目录,然后 将对应插件删除
- dart系列之:时间你慢点走,我要在dart中抓住你
目录 简介 DateTime Duration 总结 简介 时间和日期是我们经常会在程序中使用到的对象.但是对时间和日期的处理因为有不同时区的原因,所以一直以来都不是很好用.就像在java中,为时间和 ...
- [FJ2021]D2T3题解
考试的时候一点思路没有,最近听福州的神仙的一些做法. 想自己推一下. 题目大概是这样的 \(a_i = \frac{i\ *\ a_{i - 1} \ + \ i\ * \ (i\ -\ 1)\ * ...
- azkaban执行任务长时间无法结束
问题显示: 由于一次执行较多的任务,导致azkaban的web程序崩溃,此时,关闭azkaban服务,重新启动azkaban 但是由于azkaban的exec程序无法关闭,这里采用kill的方式关掉e ...
- 电脑盘符为什么从C盘开始?A盘和B盘去哪了?
虽然我们几乎每天都在跟电脑打交道,但是不知道大家有没有过疑惑,为什么电脑盘符是从C盘开始命名呢?有没有A盘和B盘??A盘和B盘去哪了??? 其实,A盘和B盘是真实存在的. 在早期的DOS时代,计算机的 ...
- Ubuntu apt代理apt-cacher-ng配置及使用
apt-cacher-ng是更强大的apt代理服务器的替代方案,例如squid-deb-proxy.如果您正在运行小型家庭或办公室网络,那就别无所求.它可能缺少一些更高级的功能,但是可以立即进行配置, ...
- 学习java 7.26
学习内容: 进度条是图形界面中广浅个较大的文件时,操作系统会显示一个进度条,用于标识复制操作完成的比例:当启动Eclipse等程序时,因为需要加载较多的资源,故而启动速度较慢,程序也会在启动过程中显示 ...
- Centos7部署RabbitMQ的镜像队列集群
一.背景 在上一章节中,我们学会了如何搭建一个单节点的RabbitMQ服务器,但是单节点的RabbitMQ不可靠,如果单节点挂掉,则会导致消息队列不可用.此处我们搭建一个3个节点的RabbitMQ集群 ...
- Identity Server 4 从入门到落地(七)—— 控制台客户端
前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...
- absent, absolute
absent 1. A teacher asked in a class who killed Abraham Lincoln. A blonde said "It wasn't me, I ...