题目大意

两队共 2n 2n个球员进行足球比赛,分别编号为 0 0到n−1n-1,每一时刻会等概率地发生以下三种事件之一

  • 带球球员将球传给某个队友
  • 带球球员被某个敌方球员截走
  • 带球球员射球,有 p p的概率射中,无论是否射中,球都交给敌队00号球员

比赛在经过 T T秒或者某队比分到达mm时结束。
现给出每个人射入的概率,以及传球或被截的人。
问比赛结果为每种可能的比分的概率。

n<=100,T<=500,m<=10 n


分析

裸的DP

设 fi,j,Ti,k,l f_{i, j, Ti, k, l}为球在 i i队jj号球员身上,比赛到 Ti Ti时刻,得分为 k:l k:l的概率。
只需要按照题目描述转移就可以了。

更好的DP

我们只关注得分情况,而其中的运球并没有什么卵用。不妨记一个状态 gi,j,Ti g_{i, j, Ti}表示 i i队开球,经过TiTi秒后 j j队得分,转移时改用gg转移。而主状态也相应改为 fi,Ti,k,l f_{i, Ti, k, l}为 i i队开球,当前时刻为TiTi,比分为 k:l k:l的概率,则有

f1−j,Ti+x,k+!j,l+j=fi,Ti,k,l⋅gi,j,x f_{1-j, Ti+x, k+!j, l+j}=f_{i, Ti, k, l}\cdot g_{i, j, x}

其中 j∈[0,1],x∈[1,T−Ti] j\in[0, 1],x\in[1, T-Ti]
计算主状态的总时间复杂度降到 O((TR)2) O((TR)^2)
至于 g g的转移也不难,不妨记hi,j,k,Tih_{i, j, k, Ti}表示 i i球队开球,当前球在jj队的 k k号球员身上,时间过了TiTi秒的概率,那么

gi,j,Ti+1=∑n−1k=0hi,j,k,Ti⋅pj,k g_{i, j, Ti+1}=\sum_{k=0}^{n-1}h_{i, j, k, Ti}\cdot p_{j, k}

其中 pj,k p_{j, k}表示 j j队kk号球员射入的概率。
计算 g g数组的总时间复杂度是O(nT)O(nT)
那么剩下的就是如何计算 h h的问题了,按题目描述转移即可。

hi,p,x,Ti+1=hi,j,k,Ti⋅pj,k,p,xh_{i, p, x, Ti+1}=h_{i, j, k, Ti}\cdot p_{j, k, p, x}

其中 p p和xx表示球在下一秒转移到 p p队的xx号球员身上。
h h的转移总时间复杂度是O(n2T)O(n^2T)的。

问题到这基本上就解决了。
注意一个小问题,我们还需要维护一个 delayi,T delay_{i, T}表示 i i队开球后一直没有进球过了TT秒。这是为了算从某个时刻就没有进球到全场结束这种情况对答案的贡献。
其中还有一个技巧就是把设不中视为被敌方 0 <script type="math/tex" id="MathJax-Element-301">0</script>号截球。
大致上就这样了。

【COCI 2012】踢足球相关推荐

  1. 当会打王者荣耀的AI学会踢足球,一不小心拿下世界冠军!

    难得的元旦小假期,没有什么比得上在慵懒的冬日艳阳下放松自己,拿起手机,叫上了许久未一起作战的小伙伴,到王者荣耀中激战了一番,仿佛又回到了当年那个年轻的自己. 厉害不,毕竟当年DD也是王者五十星的水平, ...

  2. 学计算机学体育生闺女,古力:生个女儿一定学围棋 生个儿子就去踢足球

    成都商报记者 张龑 摄影报道 核心提示 7夺围棋世界冠军的古力结婚了,这意味着他有了更多的责任. 婚后的古力做到了以家为重---"现在下完棋就回家,酒基本上不喝了,连唱歌这些娱乐都基本上取消 ...

  3. 小狗踢足球《即时通讯》

     [即时通讯论坛]2013年10月17日,吹拂我的面颊,俯视山下,爸爸还真把妈妈叫来了,一路艰险,爸爸成了村里有名的即时通讯筢耳朵,白色的水鸟偶尔点一下水面,兰妮公主已经走得筋疲力尽,不时有垂钓者 ...

  4. 上帝或许不掷骰子,但可能会踢足球|图片中的数学之美

    题图:freepik.com 人类最伟大的成就之一,就是一些极其简单的规则可以从丝毫没有随机性和不确定性的条件出发,最终导致从任何现实角度上来说都完全无法预测的情况. 人们喜爱图片,总能第一眼就看到它 ...

  5. 小猫踢足球-第14届蓝桥杯STEMA测评Scratch真题精选

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第107讲. 蓝桥杯选拔赛现已更名为STEMA,即ST ...

  6. 【JD的一人戏】之小羊踢足球第一篇

    好多次加班后坐的士回家,副驾驶座位后内嵌的显示屏正好在播放一个美食节目,内容就是一个着装怪异的厨子把各种食材分门别类地摆在你面前,然后用小小的锅碗瓢盆慢慢的做出很精致的够一个人吃的分量的各种美食,做好 ...

  7. scratch学习——小猫踢足球

    今天我们用Scratch制作一个小猫踢足球的程序. 情景描述:足球在小猫与舞台右边缘之间来回移动,其中当足球移动小猫跟前时,小猫做出踢球动作,足球继而向右边移动. 角色:小猫和足球 准备任务:添加角色 ...

  8. 关于儿童踢足球,是否会对长高有不良影响

    关于儿童踢足球,是否会对长高有不良影响 2011年06月20日 New I.C. 10:00:33 BILL还想去踢足球! 秋秋 10:00:59 改天,我们再约.同去. 男孩都大爱足球. New I ...

  9. 第14课:scratchjr踢足球

    这一节我们将学习一个新的触发模块"碰到"作为脚本的开始执行条件,小猫移动,当碰到足球后,此时足球的脚本被触发,足球向前滚动,做一个踢足球的的小游戏. 开始制作: 第一步:新建项目, ...

  10. 纸飞机飞向温暖,踢足球凝聚真情

    8月6日,合肥工业大学软件学院西部之光,筑梦小队和残疾人服务站的老师以及残疾人学生在教室中开晨会.在会议中,老师们对前几日表现好的同学进行鼓励,对表现不好的同学进行批评指正他们的不足.在结束活动之后, ...

最新文章

  1. 【LeetCode】2.两数相加
  2. 在 docker中 运行 mono /jexus server 并部署asp.net mvc站点
  3. python学习-注释、语法、整数、浮点数初步接触
  4. 【CF global1 D / CF1110D】 Jongmah
  5. socket通信简介
  6. 耳机不支持android,安卓手机为什么不能用EarPods耳机 原因分析【图解】
  7. 从wait_type入手模拟SQL Server Lock
  8. js进阶 14-6 $.ajax()方法如何使用
  9. [css]通过transform缩放邮件客户端h5页面
  10. 麒麟Linux启动目录,优麒麟目录结构介绍 系统入门必备
  11. qq病毒java代码_刚刚遭遇QQ病毒
  12. 宏病毒的研究与实例分析04——实战分析
  13. iOS内测平台fir.im,发布内测版本
  14. 英语单词词性顺口溜_巧记英语单词的顺口溜 这样记忆不枯燥
  15. nvm安装使用及卸载
  16. 计算机毕业设计Java医院预约挂号系统(系统+源码+mysql数据库+Lw文档)
  17. 简书android des,Android 加密之DES加密
  18. ubuntu16.04搭建cptn+crnn
  19. 2009世界500强:《财富》全球五百家公司排名
  20. VMware Workstation Pro虚拟机命令行安装图形界面

热门文章

  1. Intermediate-SQL
  2. Javascript实现浏览器模块化开发
  3. 关于变频器的30个常见问题
  4. java elgamal_【Java小工匠】非对称加密--ElGamal
  5. 大多数人车内都放一块香皂,到底有什么用?
  6. 软考高级之信息系统案例分析七重奏-《4》
  7. 广州APP开发公司:母婴APP开发解决方案
  8. python日历方法
  9. 消息中的wParam和lParam
  10. 打卡3本书10句话-24