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\) 的正整数。

  1. \(a=b=c=k\)。

    显然,只有一种情况能够满足这个要求。

  2. \(a,b,c\) 中恰好有 \(2\) 个整数为 \(k\)。

    显然,从其余的 \(n-1\) 个正整数中选出一个数都能够满足这类条件。然后考虑一般的情况,由于不同的排列有 \((k,k,p)\),\((k,p,k)\) 和 \((p,k,k)\) 三种,因此这类下一共有 \(3(n-1)=3n-3\) 种情况。

  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\) 种。因此概率为:

\[\dfrac{6nk-6k^2-3n+6k-2}{n^3}
\]

注意在代码实现中,由于允许的误差很小,答案需要用 long double 储存以保证精度。

代码就不贴了。

AT1445 乱数生成 题解的更多相关文章

  1. C#版 - Leetcode 633. 平方数之和 - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - L ...

  2. [CQOI2014]数三角形 题解(组合数学+容斥)

    [CQOI2014]数三角形 题解(数论+容斥) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1328780 链接题目地址:洛谷P3166 BZOJ 350 ...

  3. [CQOI2014]数三角形 题解(找规律乱搞)

    题面 其实这道题不用组合数!不用容斥! 只需要一个gcd和无脑找规律(滑稽 乍一看题目,如果单纯求合法三角形的话情况太多太复杂,我们可以从局部入手,最终扩展到整体. 首先考虑这样的情况: 类似地,我们 ...

  4. 洛谷P1066 2^k进制数(题解)(递推版)

    https://www.luogu.org/problemnew/show/P1066(题目传送) (题解)https://www.luogu.org/problemnew/solution/P106 ...

  5. CodeForces 509C Sums of Digits(贪心乱搞)题解

    题意:a是严格递增数列,bi是ai每一位的和,告诉你b1~bn,问你怎样搞才能让an最小 思路:让ai刚好大于ai-1弄出来的an最小.所以直接模拟贪心,如果当前位和前一个数的当前位一样并且后面还能生 ...

  6. 洛谷【P2022 有趣的数】 题解

    题目链接 https://www.luogu.org/problem/P2022 题目描述 让我们来考虑1到N的正整数集合.让我们把集合中的元素按照字典序排列,例如当N=11时,其顺序应该为:1,10 ...

  7. Gym 101480I Ice Igloos(思维乱搞)题解

    题意:给个最多500 * 500的平面,有半径最多不为1的n个圆,现在给你1e5条线段,问你每条线段和几个圆相交,时限10s 思路: 因为半径<1,那么我其实搜索的范围只要在线段附近就好了.x1 ...

  8. T66099 小xzy的数对 题解

    T66099 小xzy的数对 题目背景 老师带同学参加表演,要求学生两两一组表演,但有些学生一起会发生冲突,现在老师想知道有多少组学生分到一起时不会发生冲突. 题目描述 学生发生冲突当且仅当他们身上的 ...

  9. Hdoj 2084.数塔 题解

    Problem Description 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大 ...

随机推荐

  1. spring rest小马哥

    幂等 PUT 初始状态:0 修改状态:1 * N 最终状态:1 DELETE 初始状态:1 修改状态:0 * N 最终状态:0 非幂等 POST 初始状态:1 修改状态:1 + 1 =2 N次修改: ...

  2. 强化学习之MountainCarContinuous(注册自己的gym环境)

    目录 1. 问题概述 2. 环境 2.1 Observation & state 2.2 Actions 2.3 Reward 2.4 初始状态 2.5 终止状态- Episode Termi ...

  3. 洛谷 P4708 - 画画(Burnside 引理+组合数学)

    洛谷题面传送门 神仙题 %%%%%%%%%%%%%%%%%%%% 题解搬运人来了 首先看到本质不同(无标号)的图计数咱们可以想到 Burnside 引理,具体来说,我们枚举一个排列 \(p\),并统计 ...

  4. Codeforces 285E - Positions in Permutations(二项式反演+dp)

    Codeforces 题目传送门 & 洛谷题目传送门 upd on 2021.10.20:修了个 typo( 这是一道 *2600 的 D2E,然鹅为啥我没想到呢?wtcl/dk 首先第一步我 ...

  5. 洛谷 P6775 - [NOI2020] 制作菜品(找性质+bitset 优化 dp)

    题面传送门 好久没写过题解了,感觉几天没写手都生疏了 首先这种题目直接做肯定是有些困难的,不过注意到题目中有个奇奇怪怪的条件叫 \(m\ge n-2\),我们不妨从此入手解决这道题. 我们先来探究 \ ...

  6. No.2 R语言在生物信息中的应用—模式匹配

    目的: 1. 计算自定义模序在所有蛋白质的匹配位点和次数 2. 输出超过阈值的蛋白质序列到Hit_sequences.fasta 3. Hit_sequences.fasta中序列用小写字母,匹配用大 ...

  7. 出现NoClassDefFoundError,始终无法引入jar的解决

    在拉取代码后,项目的部分版本与本地存在的不一定一致,所以IDEA会自动下载并引入,但是在启动时可能存在java.lang.NoClassDefFoundError这个报错 比如引入marshallin ...

  8. HDFS【Java API操作】

    通过java的api对hdfs的资源进行操作 代码:上传.下载.删除.移动/修改.文件详情.判断目录or文件.IO流操作上传/下载 package com.atguigu.hdfsdemo; impo ...

  9. 转 android design library提供的TabLayout的用法

    原文出处:http://chenfuduo.me/2015/07/30/TabLayout-of-design-support-library/ 在开发中,我们常常需要ViewPager结合Fragm ...

  10. Rest使用get还是post

    1. get是从服务器上获取数据,post是向服务器传送数据. 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过 ...