[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是保存待统计数据的数组, ...
随机推荐
- Java继承方法隐藏(覆盖)
方法隐藏 一个类从其超类继承所有非私有静态方法.在子类中重新定义继承的静态方法称为方法隐藏.子类中的重定义静态方法隐藏其超类的静态方法.在类中重定义非静态方法称为方法覆盖.关于方法隐藏的重定义方法(名 ...
- Gradle教程
Ant和Maven共享在Java市场上相当大的成功.ANT是在2000年发布了第一个版本的工具,它是基于程序编程思想的发展. 后来,人们在 Apache-Ivy的帮助下,网络接受插件和依赖管理的能力有 ...
- 转 jmeter 实现loadrunner init end 功能
一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件, ...
- python_面向对象,类名称空间,对象名称空间,组合
创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量(字段) 动态属性就是定义在类中的方法 其中类 ...
- Oracle备份统计信息
Oracle可以通过DBMS_STATS.GET_TABLE_STATS 收集表的统计信息,一般的收集方法如下: DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => ...
- Linux面试基础(一)
Linux基本命令 man rm 查看命令帮助 tar cf 压缩文件 tar xf 解压缩 ping 查看是否能连接网络 rm 删除数据 find 搜索数 ...
- 虚拟机linux系统 硬盘/root路径扩容
调整完后,重新打开虚拟机,使用fdisk -l查看,可以看到我们刚刚扩容的空间已经可以看到,但没有分区,还不能使用./dev/sda已经拥有了扩大的空间. 使用Linux的fdisk分区工具给磁盘/d ...
- 简单记录下Jmeter通过CSV保存测试数据,测试用例,及将测试结果导出到Excel里
1.CSV保存测试数据,并上传到CSV Data Set Config,设置相关属性 2.CSV保存测试用例,并上传到CSV Data Set Config,设置相关属性 3.设置一个http请求,设 ...
- mysql字段类型不是整型的排序问题
今天想按从小到大的顺序重数据库提取数据,发现取出的数据不是按顺序排的,经检查之后发现是mysql保存的字符类型是varchar,但是值是整数,解决办法:把排序字段+0; SELECT * FROM u ...
- C中的lvalue和rvalue
该贴子第一条回答虽然浅尝辄止,但还是很有参考价值. https://www.quora.com/What-is-lvalue-and-rvalue-in-C IBM一个简单的说法是: "-通 ...