概率与期望练习题

CF963E Circles of Waiting

圆内的整点形成了一个类似方阵的结构。设 f x , y f_{x,y} fx,y ( x , y ) (x,y) (x,y)期望被经过的次数。我们可以对每一个点列出一个方程:

f x , y = p 0 f x + 1 , y + p 1 f x , y + 1 + p 2 f x − 1 , y + p 3 f x , y − 1 + [ ( x , y ) = ( 0 , 0 ) ] f_{x,y} = {p_0} f_{x+1,y} + p_1 f_{x,y+1} +p_2 f_{x-1,y} + p_3f_{x,y-1} + [(x,y)=(0,0)] fx,y=p0fx+1,y+p1fx,y+1+p2fx1,y+p3fx,y1+[(x,y)=(0,0)]

将每一行最左侧的点设为主元,其它的点都用主元表示。从左往右考虑每一列的点: f x , y f_{x,y} fx,y可以用 f x − 1 , y f_{x-1,y} fx1,y的方程表示出来(因为方程中涉及到的 f x − 1 , y , f x − 1 , y − 1 , f x − 1 , y + 1 , f x − 2 , y f_{x-1,y},f_{x-1,y-1},f_{x-1,y+1},f_{x-2,y} fx1,y,fx1,y1,fx1,y+1,fx2,y在之前都已经考虑过了,只有 f x , y f_{x,y} fx,y是未知的)。

这样过后,每一行最右侧的点对应的方程我们还没有用过,用这些方程一定可以解出主元的值,然后再带回去就可以得到每个点的期望被经过次数。

时间复杂度 O ( R 3 ) O(R^3) O(R3)

Code

CTSC2006 歌唱王国

题号:luogu4548, bzoj1152

f i f_i fi为加入第 i i i个字符的时候恰好结束的概率, g i g_i gi为加入 i i i个字符之后还没有结束的概率。设 F ( x ) = ∑ i = 0 ∞ f i x i , G ( x ) = ∑ i = 0 ∞ g i x i F(x) = \sum_{i=0}^\infty f_i x^i, G(x) = \sum_{i=0}^\infty g_ix^i F(x)=i=0fixi,G(x)=i=0gixi

则有 G ( x ) x − F ( x ) = G ( x ) − 1 G(x)x - F(x) = G(x) - 1 G(x)xF(x)=G(x)1,即: g i − 1 − f i = g i g_{i-1}-f_i = g_i gi1fi=gi

F ( x ) F(x) F(x)的定义我们知道 F ( 1 ) = 1 F(1)=1 F(1)=1,即在每一轮结束的概率的和是 1 1 1

而我们要求的答案是 F ′ ( 1 ) F'(1) F(1)

再设 H ( x ) = ∑ i = j m x m − j ( 1 n ) m − j [ s 1 s 2 ⋯ s j is a border of s ] H(x) = \sum_{i=j}^{m}x^{m-j} ({1\over n})^{m-j} [s_1s_2\cdots s_j\text{is a border of s}] H(x)=i=jmxmj(n1)mj[s1s2sjis a border of s]


G ( x ) ( 1 n ) m x m = F ( x ) H ( x ) G(x) ({1\over n})^mx^m = F(x) H(x) G(x)(n1)mxm=F(x)H(x)

这里 F ( x ) F(x) F(x)的意义相当于是枚举了, G ( x ) G(x) G(x)在末尾加上一个 s s s之后,最早在什么位置出现了完整的 s s s

带入 x = 1 x=1 x=1得到

G ( 1 ) ( 1 n ) m = F ( 1 ) H ( 1 ) G ( 1 ) = n m H ( 1 ) G(1) ({1\over n})^m = F(1) H(1) \\ G(1) = n^m H(1) G(1)(n1)m=F(1)H(1)G(1)=nmH(1)

此外

G ( x ) x − F ( x ) = G ( x ) − 1 G(x)x-F(x) = G(x)-1 \\ G(x)xF(x)=G(x)1

两边同时求导得到

G ( x ) + G ′ ( x ) x − F ′ ( x ) = G ′ ( x ) G(x) + G'(x)x - F'(x) = G'(x) G(x)+G(x)xF(x)=G(x)

带入 x = 1 x=1 x=1

G ( 1 ) + G ′ ( 1 ) − F ′ ( 1 ) = G ′ ( 1 ) G ( 1 ) = F ′ ( 1 ) G(1) + G'(1) - F'(1) = G'(1)\\ G(1) = F'(1) G(1)+G(1)F(1)=G(1)G(1)=F(1)

所以答案就是 n m H ( 1 ) n^m H(1) nmH(1)

PE522

如果所有的连通块都是孤立的环(没有叶子),那么答案是环数。

否则敲定一个不为孤立的环的连通块,对于这个连通块每一个入度为 0 0 0的点,把某个入度大于 1 1 1的点的某一个儿子拿过来接在它的下面(接过来的部分如果还有入度为 0 0 0的点,就重复前面的操作)。

如果图内存在孤立的环,就还必须在上述过程的最后一次操作之前(此时我们敲定的那个连通块内恰好只有一个叶子)对每一个孤立的环进行额外的操作:把环断成链接在叶子的下面。

综上所述,一张图的答案为叶子数+孤立的环数。

叶子数总和为:

n ( ( n − 2 ) n − 1 ⋅ ( n − 1 ) ) n ((n-2)^{n-1} \cdot (n-1)) n((n2)n1(n1))

也就是每个点成为叶子的方案数。

孤立的环的数量总和为

∑ i = 2 n ( n i ) ( i − 1 ) ! ( n − i − 1 ) n − i \sum_{i=2}^n {n\choose i} (i-1)!(n-i-1)^{n-i} i=2n(in)(i1)!(ni1)ni

每一个长度为 i i i的环出现的方案数是 ( n − i − 1 ) n − i (n-i-1)^{n-i} (ni1)ni,而这样的环有 ( n i ) ⋅ ( i − 1 ) ! {n\choose i} \cdot (i-1)! (in)(i1)!个。

CF457D Bingo!

考虑 2 s 2^s 2s的组合意义,也就是一个大小为 s s s的集合的子集数量。所以权值的期望也就是:每一个行、列的子集在最后的矩阵中只包含了那 k k k个数的概率的和。

假设某一个子集包含了 t t t个格子,那么它只包含了那 k k k个数的概率是 f t = P k t P m t f_t = {P_k^t \over P_m^t} ft=PmtPkt。直接预处理阶乘来计算 f t f_t ft无法用long double存下;推导可得 f t = f t − 1 ⋅ k − t + 1 m − t + 1 f_t = f_{t-1} \cdot {k-t+1\over m-t+1} ft=ft1mt+1kt+1,由这个递推计算就可以避免上面的问题。

最后的答案就是

∑ i = 0 n ∑ j = 0 n ( n i ) ( n j ) f ( i + j ) n − i j \sum_{i=0}^n \sum_{j=0}^n {n\choose i}{n\choose j} f_{(i+j)n-ij} i=0nj=0n(in)(jn)f(i+j)nij

Code

UOJ352 新年的五维几何

对于所有 l i = r i l_i=r_i li=ri的变量,考虑它们对其它变量的取值范围的影响,然后把这些变量删掉。

不妨将 l i ≤ x i ≤ r i l_i \le x_i \le r_i lixiri看做 l i ≤ x i < r i l_i \le x_i < r_i lixi<ri,两者算出来的答案是一样的。所以 x i x_i xi的整数部分的取值范围是 [ l i , r i ) [l_i,r_i) [li,ri)

我们首先枚举 x i x_i xi的小数部分的大小关系,然后暴搜整数部分的合法的取值方案。由于 a i , j a_{i,j} ai,j都是整数,所以 x i − x j ≥ a i , j x_i - x_j \ge a_{i,j} xixjai,j是否被满足只取决于 x i x_i xi x j x_j xj的整数部分和它们小数部分的大小关系。

时间复杂度 O ( n ! ∏ i ( r i − l i ) ) O(n!\prod_i(r_i-l_i)) O(n!i(rili))

Code

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值