[Code+#3]博弈论与概率统计
记得曾经和稳稳比谁后抄这个题的题解,看来是我输了
不难发现\(p\)是给着玩的,只需要求一个总情况数除以\(\binom{n+m}{n}\)就好了
记\(i\)为无效的失败次数,即\(\rm Alice\)在得分为\(0\)时的失败次数,那么最后的得分就是\(n-m+i\)
不妨将赢看成\(1\)输看成\(-1\),我们把输赢情况写成一个\(n+m\)的序列,记这个序列的最小前缀和为\(t\),那么无效失败次数就是\(|\min(0,t)|\),也就是当\(t<0\)的时候,得分应为\(n-m+|t|\)
证明的话,考虑一种构造方法,我们把对最小前缀和产生影响的\(t\)个\(-1\)拿出来,显然两个\(-1\)之间的数的和应为\(0\),和为\(0\)意思就是分数可能涨了涨但最后又扣成\(0\)了,于是在得分为\(0\)的时候失败的次数就是\(t\)次
之后套路的转化成一个平面上的问题,将\(-1\)视为向上走,\(1\)视为向右走,那么无效失败次数为\(i\)的方案数等价与在坐标系上从\((0,0)\)走到\((n,m)\)且经过至少一次\(y=x+i\)且不超过的方案数
简单容斥一下,求一下严格低于\(y=x+i+1\)的方案数减一下严格低于\(y=x+i\)的方案数就好了
对于一个不合法的方案,我们取第一次达到\(y=x+i\)之前的路径,并将这段路径沿\(y=x+i\)翻折,就得到了一条从\((-i,i)\)到\((n,m)\)的路径,不难发现这样的路径会经过至少一次\(y=x+i\),所以这样的路径和不合法的路径是一一对应的,显然这样的路径条数是\(\binom{n+m}{n+i}\)
于是严格低于\(y=x+i\)的路径条数就是\(\binom{n+m}{n}-\binom{n+m}{n+i}\),于是恰好经过经过至少一次\(y=x+i\)且不超过的方案数为\(\binom{n+m}{m}-\binom{n+m}{n+i+1}-\binom{n+m}{n}+\binom{n+m}{n+i}=\binom{n+m}{n+i}-\binom{n+m}{n+i+1}\)
对于\(n\geq m\)的情况,我们求得即为\(\sum_{i=0}^m(n-m+i)(\binom{n+m}{n+i}-\binom{n+m}{n+i+1})\)
简单划开就会发现求得其实是\((n-m)\binom{n+m}{m}+\sum_{i=0}^{m-1}\binom{n+m}{n+i}\)
多组询问求后面那个柿子好像还是一道题来着,直接大力莫队即可
[Code+#3]博弈论与概率统计的更多相关文章
- loj6300 「CodePlus 2018 3 月赛」博弈论与概率统计
link 题意: A和B玩游戏,每轮A赢的概率为p.现在有T组询问,已知A赢了n轮输了m轮,没有平局,赢一局A得分+1,输一局得分-1,问A得分期望值? $n+m,T\leq 2.5\times 10 ...
- bzoj 5283: [CodePlus 2018 3 月赛]博弈论与概率统计
Description 大家的好朋友小 L 来到了博弈的世界.Alice 和 Bob 在玩一个双人游戏.每一轮中,Alice 有 p 的概率胜利,1 -p 的概率失败,不会出现平局.双方初始时各有 0 ...
- [CodePlus 2018 3 月赛] 博弈论与概率统计
link 题意简述 小 $A$ 与小 $B$ 在玩游戏,已知小 $A$ 赢 $n$ 局,小 $B$ 赢 $m$ 局,没有平局情况,且赢加一分,输减一分,而若只有 $0$ 分仍输不扣分. 已知小 $A$ ...
- LOJ6300 BZOJ5283 [CodePlus 2018 3 月赛]博弈论与概率统计
一道好题!很久以前就想做了,咕到了现在,讲第二遍了才做. 首先我们观察到$p$是没有用的 因为赢的次数一定 那么每一种合法序列出现的概率均为$p^n*(1-p)^m$ 是均等的 我们可以不看它了 然后 ...
- LOJ6300 博弈论与概率统计 组合、莫队
传送门 如果在\(0\)以下之后仍然会减分,那么最后的结果一定是\(N-M\). 注意到如果在Alice分数为\(0\)时继续输,那么就相当于减少了一次输的次数.也就是说如果说在总的博弈过程中,Ali ...
- 程序员的数学 三册数学,概率统计、线性代数pdf
程序员的数学1 2012.pdf 2012版 程序员的数学2 概率统计 ,平冈和幸,(日)堀玄著 ,P4006 2015.pdf 2015版 程序员的数学3-线性代数 2016.pdf 2016版 如 ...
- 【NLP】暑假课作业3 - 词性标注(简单词频概率统计)
作业任务: 使用98年人民日报语料库进行词性标注训练及测试. 作业输入: 98年人民日报语料库(1998-01-105-带音.txt),用80%的数据作为训练集,20%的数据作为验证集. 运行环境: ...
- 概率统计(DP)
问题叙述性说明 生成n个月∈[a,b]随机整数.并且将它们输出到x概率. 输入格式 输入线跟四个整数n.a,b,x,用空格分隔. 输出格式 输出一行包括一个小数位和为x的概率.小数点后保留四位小数 例 ...
- python 特定份数的数据概率统计(原创)
使用numpy模块中的histogram函数模块 Histogram(a,bins=10,range=None,normed=False,weights=None)其中, a是保存待统计数据的数组, ...
随机推荐
- 嵌入式C语言4.2 C语言内存空间的使用-指针与修饰符:const,volatile,typedef
const:变量,只读[不能变] 内存属性: 1. 内存操作的大小 2.内存的变化性,可写可读 char *p; const char *p; 描述字符串,p指向的内容是只读的,不可再次修改 ...
- 基于MFC的Media Player播放器的制作(3---功能实现)
| 版权声明:本文为博主原创文章,未经博主允许不得转载. 下面我们试试一下,按下退出Button退出播放器的功能: 首先,我们双击退出Button按钮,就会弹出下图的框: 上面的弄好之后我们就实现 ...
- fedora 25重新安装引导
引导区被其他系统给覆盖了,重新安装引导 grub2-install /dev/sdb GRUB_SAVEDEFAULT=true BIOS grub2-mkconfig -o /boot/grub2/ ...
- vue.js实现点击后动态添加class及删除同级class
最近使用vue需要实现一个点餐选择商品规格的页面,需要通过vue动态的给被点击的元素添加class名字,使其变色,其他的删除class.如图: 开始在网上找了许多办法发现不是太好用,最后找到一个发现还 ...
- Java Socket NIO示例总结
Java NIO是非阻塞IO的实现,基于事件驱动,非常适用于服务器需要维持大量连接,但是数据交换量不大的情况,例如一些即时通信的服务等等,它主要有三个部分组成: Channels Buffers Se ...
- accept 修改后
- 【javascript dom读书笔记】 第九章 CSS-DOM
用dom设置样式 element.style.property = value 何时用dom脚本设置样式 作者写到:绝大多数的现代浏览器,虽然对css伪类的支持不是很完整,但是对dom都有良好的支持, ...
- 【LeetCode】Stack
[503] Next Greater Element II [Medium] 给一个循环数组,找到离当前元素最近的比它大的元素. Input: [1,2,1] Output: [2,-1,2] Exp ...
- 36.两个链表的第一个公共结点(python)
题目描述 输入两个链表,找出它们的第一个公共结点. class Solution: def FindFirstCommonNode(self, pHead1, pHead2): # write cod ...
- php 中 instanceof 操作符
"instanceof"操作符的使用非常简单,它用两个参数来完成其功能.第一个参数是你想要检查的对象,第二个参数是类名(事实上是一个接口名),用于确定是否这个对象是相应类的一个实例 ...