【BZOJ】3093: [Fdu校赛2012] A Famous Game
http://www.lydsy.com/JudgeOnline/problem.php?id=3093
题意:n个球(红和蓝两种),等概率有1~n个红球。首先取出p个球且这p个球里边有q个红球,问从剩下的球里边取一个红球的概率(n<=100000)
1 2 3 4 5 6 7 | #include <cstdio> using namespace std; int main() { int T=0, p, n, q; while (~ scanf ( "%d%d%d" , &n, &p, &q)) printf ( "Case %d: %.4f\n" , ++T, (q+1.0)/(p+2.0)); return 0; } |
推完后公式能力大幅增长= =
感谢vfk的指导让我知道了一些关于高中课本的知识= =(haha我比小学森还差
感谢算法导论上概率论的知识
感谢××年××的关于概率论的一些论文....
感谢quartergeek的题解
感谢gyz的题解
然后好不容易推出了公式....最终化简极其漂亮...数学好美丽...
如果看不懂下边的公式,欢迎来问我!!!qq在右边!!
设A为下一个拿红球的事件,B为拿走了p个球其中有q个球是红球的事件,Ck为原袋子中有k个红球的事件
P(A|B)=P(AB)P(B)=∑nk=0P(AB|Ck)P(Ck)∑nk=0P(B|Ck)P(Ck)
因为
P(AB|Ck)=P(BCk)P(Ck)P(ABCk)P(BCk)=P(B|Ck)P(A|BCk)
所以
P(A|B)=∑nk=0P(AB|Ck)P(Ck)∑nk=0P(B|Ck)P(Ck)=∑nk=0P(B|Ck)P(A|BCk)P(Ck)∑nk=0P(B|Ck)P(Ck)
显然
P(A|BCk)=k−qn−pP(Ck)=1n+1P(B|Ck)=(kq)(n−kp−q)(np)
所以
P(A|B)=∑nk=0P(B|Ck)P(A|BCk)P(Ck)∑nk=0P(B|Ck)P(Ck)=∑nk=0(kq)(n−kp−q)(k−q)∑nk=0(kq)(n−kp−q)(n−p)=∑nk=0(kq+1)(n−kp−q)(q+1)∑nk=0(kq)(n−kp−q)(n−p)=q+1n−p∑nk=0(kq+1)(n−k(p+1)−(q+1))∑nk=0(kq)(n−kp−q)=q+1n−p(n+1p+2)(n+1p+1)=q+1p+2
哦,关于(n+1p+1)=∑nk=0(kq)(n−kp−q)窝来解释一下...
考虑p+1个球放在n+1个格子中,那么等价于枚举第q+1个球放的格子k+1,则前面有k个格子,后面则有n−k个格子。那么前面有q个球方案数为(kq),后面有p−q个球的方案数为(n−kp−q)。乘起来即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术