您的位置:首页 > 其它

踢足球

2015-08-11 20:44 169 查看
题目大意及模型转换:

有两个队伍踢足球,每队N人从1~N。一开始0队1号发球。进一球得一分。结束条件是比赛M秒过后,或某一个队得到Q分后。每一秒控球的i队j号队员都有可能发生以下情况。1、传球给对应集合的己方球员。2、被对应集合的敌方球员截球。3、射门。射门之后球交给敌方1号球员。每个人射门都有一定几率中。输出每种比分的概率。

分析:


设f[i,j,k,l]表示i队开球j时刻的时候,比分为k:l的概率。

设g[i,j,k]表示i队开球k时刻后j队得分的概率。

f[1-t,j+x,k+tmp1,l+tmp2]=∑f[i,j,k,l]*g[i,t,x]

tmp1和tmp2为0或1,表示某一方进球。

设h[i,j,k,l]表示i队开球l时刻后球在j队k号球员脚中的概率。

设p[i,j]表示i队j号球员射门进球的概率。

g[i,j,x+1]=∑h[i,j,k,x]*p[j,k]*tmp【k=1~N】

其中tmp表示i队j号球员选择射门的概率。

h[i,t,x,y+1]=∑h[i,j,k,y]*tmp

tmp为传球或被截球的概率。

其中要注意,射门失败可以视为被对方1号球员截球。

那么h[i,t,1,y+1]=∑h[i,j,k,y]*tmp*(1-p[j,k])

tmp为选择射门的概率。

由于还有m时刻后结束比赛,所以还要设delay[i,j]表示i队开球过了j时刻一直没进球的概率。

delay[i,j]=∑h[i,x,y,j]

那么用ans[i,j]表示比分为i:j的概率

ans[i,j]=∑f[t,k,i,j,]*delay[t,m-k]

注意:

此题极其猥琐,一次不AC都不知道怎么调了。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: