[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是保存待统计数据的数组, ...
随机推荐
- 代码质量管理-Sonar
1.Sonar 摘要 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具. 与持续集成工具(例如 Hudson/Jenkin ...
- 02、python的基础-->占位符、while...else...、逻辑运算符
1.%s.%d格式化输出程序(%占位符,s字符串,d数字) name = input('请输入姓名:') age = input('请输入年龄:') job = input('请输入工作:') hob ...
- 几个比较好的IT站和开发库官网
1.IT技术.项目类网站 (1)首推CodeProject,一个国外的IT网站,官网地址为:http://www.codeproject.com,这个网站为程序开发者提供了很好的代码示例以及讲解,不过 ...
- Zookeeper安装配置及简单使用
我使用的CentOS 7阿里云服务器,ZK依赖JDK,需要先安装jdk并配置jdk环境变量. 1.安装wget: yum –y install wget 2.下载Zookeeper(http://mi ...
- 20-python基础-python3-reversed()函数
描述 reversed 函数返回一个反转的迭代器. 语法 reversed(seq) 参数 seq -- 要转换的序列,可以是 tuple, string, list 或 range. # 字符串 s ...
- 12-python基础—python3中的reduce()
在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里,需要通过引入 functools 模块来调用 reduce() 函数: from ...
- HttpClient 之Fluent API 简单使用
相比于HttpClient 之前的版本,HttpClient 4.2 提供了一组基于流接口(fluent interface)概念的更易使用的API,即Fluent API. 为了方便使用,Fluen ...
- java漏洞历史
内容来自以前收集的思维导图,作者不明. 1.JDK漏洞 1.1.CVE-2012-4681 https://www.freebuf.com/vuls/5485.html msf: exploit/mu ...
- JS模拟实现题目(new debounce throwee 等)
模拟new实现 function newObject() { let obj = new Object(); let Con = [].shift.apply(arguments) obj.__pro ...
- 2018-2-13-win10-uwp-网络编程
title author date CreateTime categories win10 uwp 网络编程 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17: ...