传送门


如果在\(0\)以下之后仍然会减分,那么最后的结果一定是\(N-M\)。

注意到如果在Alice分数为\(0\)时继续输,那么就相当于减少了一次输的次数。也就是说如果说在总的博弈过程中,Alice在分数等于\(0\)时输了\(x\)次,那么最后的结果就是\(N-M+x\)。

不妨考虑一个序列\(a_i\),如果\(a_i = 1\)表示Alice第\(i\)局输了,\(a_i = -1\)表示第\(i\)局赢了,那么不难发现\(x =\)序列\(a_i\)的最大前缀和。不妨设\(max_a\)表示序列\(a\)的最大前缀和。然后可以发现序列\(a_i\)与格路问题有一些相似:从\((0,0)\)开始走路,如果\(a_i = 1\)则第\(i\)步向上走一格,否则向右走一格,那么一个满足条件的序列\(a\)是一个从\((0,0)\)到\((N,M)\)的路径,而\(max_a\)等于这条路径上所有的点中\(y-x\)的最大值。

对于一组询问,我们要求的就是\(Ans = \sum\limits_{t} max_t\),当\(N > M\)时\(Ans = \sum\limits_{i=1}^M \sum\limits_{t} [max_t \geq i]\),当\(N \leq M\)时\(Ans = M - N + \sum\limits_{i = M - N + 1} ^ M \sum\limits_{t} [max_t \geq i]\)。

对于\(i \in [\max(M - N , 0) + 1 , M]\),\(\sum\limits_t [max_t \geq i]\)相当于从\((0,0)\)到\((N,M)\)必须经过\(y = x + i\)的路径条数,这是格路问题的经典问题,不难得到答案是\(\binom{N+M}{M - i}\)。

那么当\(N > M\)时\(Ans = \sum\limits_{i=1}^M \binom{N + M}{M - i} = \sum\limits_{i=0}^{M - 1} \binom{N + M}{i}\),当\(N \leq M\)时\(Ans = M - N + \sum\limits_{i=0}^{N - 1} \binom{N + M}{i}\)。

那么如果我们可以快速求出\(f(x,y) = \sum\limits_{i=0}^x \binom{y}{i}\)就可以快速求解。

注意到这是一个二元组询问,似乎不能直接做,不妨考虑莫队。那么我们需要在知道\(f(x,y)\)时\(O(1)\)求出\(f(x,y \pm 1)\)以及\(f(x \pm 1,y)\)。后者可以直接做,对于前者可以使用\(\binom{y}{x} = \binom{y - 1}{x} + \binom{y - 1}{x - 1}\)得到一种\(O(1)\)的转移方法。

代码

LOJ6300 博弈论与概率统计 组合、莫队的更多相关文章

  1. 【HDU 5145】 NPY and girls(组合+莫队)

    pid=5145">[HDU 5145] NPY and girls(组合+莫队) NPY and girls Time Limit: 8000/4000 MS (Java/Other ...

  2. 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 ...

  3. LOJ6300 BZOJ5283 [CodePlus 2018 3 月赛]博弈论与概率统计

    一道好题!很久以前就想做了,咕到了现在,讲第二遍了才做. 首先我们观察到$p$是没有用的 因为赢的次数一定 那么每一种合法序列出现的概率均为$p^n*(1-p)^m$ 是均等的 我们可以不看它了 然后 ...

  4. bzoj 5283: [CodePlus 2018 3 月赛]博弈论与概率统计

    Description 大家的好朋友小 L 来到了博弈的世界.Alice 和 Bob 在玩一个双人游戏.每一轮中,Alice 有 p 的概率胜利,1 -p 的概率失败,不会出现平局.双方初始时各有 0 ...

  5. [CodePlus 2018 3 月赛] 博弈论与概率统计

    link 题意简述 小 $A$ 与小 $B$ 在玩游戏,已知小 $A$ 赢 $n$ 局,小 $B$ 赢 $m$ 局,没有平局情况,且赢加一分,输减一分,而若只有 $0$ 分仍输不扣分. 已知小 $A$ ...

  6. [Code+#3]博弈论与概率统计

    题目 记得曾经和稳稳比谁后抄这个题的题解,看来是我输了 不难发现\(p\)是给着玩的,只需要求一个总情况数除以\(\binom{n+m}{n}\)就好了 记\(i\)为无效的失败次数,即\(\rm A ...

  7. BZOJ2038 (莫队)

    BZOJ2038: 小Z的袜子 Problem : N只袜子排成一排,每次询问一个区间内的袜子种随机拿两只袜子颜色相同的概率. Solution : 莫队算法真的是简单易懂又暴力. 莫队算法用来离线处 ...

  8. 【BZOJ】2038: [2009国家集训队]小Z的袜子(hose)(组合计数+概率+莫队算法+分块)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2038 学了下莫队,挺神的orzzzz 首先推公式的话很简单吧... 看的题解是从http://for ...

  9. hdu_5145_NPY and girls(莫队算法+组合)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5145 题意:给你n,m,共有n个女孩,标号为1—n,n个数xi表示第ith个女孩在第xi个教室,然后下 ...

随机推荐

  1. 计蒜客 39268.Tasks-签到 (The 2019 ACM-ICPC China Shannxi Provincial Programming Contest A.) 2019ICPC西安邀请赛现场赛重现赛

    Tasks It's too late now, but you still have too much work to do. There are nn tasks on your list. Th ...

  2. fastq 转换为 fasta

    使用 awk awk '{if(NR%4 == 1){print ">" substr($0, 2)}}{if(NR%4 == 2){print}}' XXX.fastq & ...

  3. 重新学习MySQL数据库12:从实践sql语句优化开始

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a724888/article/details/79394168 本文不堆叠网上海量的sql优化技巧或 ...

  4. SpringBoot框架 之 Thymeleaf

    目录 Thymeleaf 添加启动器 创建模板文件夹 基本使用 综合使用 Thymeleaf 介绍 SpringBoot并不推荐使用jsp Thymeleaf 是一个跟 Velocity.FreeMa ...

  5. 单点登录(SSO)工作原理

    单点登录(SSO)工作原理 一.单点登录的介绍 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次 ...

  6. oracle update from多表性能优化一例

    这几天测试java内存数据库,和oracle比较时发下一个update from语句很慢,如下: update business_new set fare1_balance_ratio = (sele ...

  7. Ubuntu18.04启动memtest86

    对于Ubuntu18.04, 网上搜的结果都是错的, 根本不是启动时按shift, 而是按F8. 反复重启十几次后终于误触调出了启动菜单. 使用的是USB安装盘, 并且使用的是非UFEI模式.

  8. NFS的安装与使用

    一.服务器端: 1.1安装NFS服务: #执行以下命令安装NFS服务器, #apt会自动安装nfs-common.rpcbind等13个软件包 sudo apt install nfs-kernel- ...

  9. [转]C++ 使用 curl 进行 http 请求(GET、POST、Download)的封装

    原文连接:https://www.cnblogs.com/oftenlin/p/9478067.html CommonTools.h   /* * CommonTools.h * * Created ...

  10. electron---表单验证问题

    使用elementui进行表单提交数据的时候,经常会需要用到表单验证的功能,下面就来说说这个功能. <template> <div> <el-form :model=&q ...