线性代数和数学期望杂题
CF1264D2 Beautiful Bracket Sequence (hard version)
一个括号序列的深度为 某一个位置之前的左括号数等于这一位之后的右括号数的个数值
算某一位的贡献
l
l
l 表示左边的左括号数,
x
x
x 表示左边的问号数,
r
r
r 表示右边边的右括号数,
y
y
y 表示右边的问号数
∑
i
=
0
x
(
l
+
i
)
(
x
i
)
(
y
l
−
r
+
i
)
=
l
∑
i
=
0
x
(
x
i
)
(
y
l
−
r
+
i
)
+
∑
i
=
0
x
i
(
x
i
)
(
y
l
−
r
+
i
)
l
∑
i
=
0
x
(
x
i
)
(
y
l
−
r
+
i
)
=
l
∑
i
=
0
x
(
x
i
)
(
y
y
+
r
−
l
−
i
)
=
l
(
x
+
y
y
+
r
−
l
)
∑
i
=
0
x
i
(
x
i
)
(
y
l
−
r
+
i
)
=
∑
i
=
0
x
x
(
x
−
1
i
−
1
)
(
y
y
+
r
−
l
−
i
)
=
x
(
x
+
y
−
1
y
+
r
−
l
−
1
)
\begin{aligned} \sum_{i=0}^{x}(l+i){x\choose i}{y\choose l-r+i}&=l\sum_{i=0}^x{x\choose i}{y\choose l-r+i}+\sum_{i=0}^xi{x\choose i}{y\choose l-r+i} \\ l\sum_{i=0}^x{x\choose i}{y\choose l-r+i}&=l\sum_{i=0}^x{x\choose i}{{y\choose y+r-l-i}} \\ &=l{x+y\choose y+r-l} \\ \sum_{i=0}^xi{x\choose i}{y\choose l-r+i}&=\sum_{i=0}^xx{x-1\choose i-1}{{y\choose y+r-l-i}} \\&=x{x+y-1\choose y+r-l-1} \\ \end{aligned}
i=0∑x(l+i)(ix)(l−r+iy)li=0∑x(ix)(l−r+iy)i=0∑xi(ix)(l−r+iy)=li=0∑x(ix)(l−r+iy)+i=0∑xi(ix)(l−r+iy)=li=0∑x(ix)(y+r−l−iy)=l(y+r−lx+y)=i=0∑xx(i−1x−1)(y+r−l−iy)=x(y+r−l−1x+y−1)
那么
a
n
s
=
∑
l
(
x
+
y
y
+
r
−
l
)
+
x
(
x
+
y
−
1
y
+
r
−
l
−
1
)
ans=\sum l{x+y\choose y+r-l}+x{x+y-1\choose y+r-l-1}
ans=∑l(y+r−lx+y)+x(y+r−l−1x+y−1)
CF1286D LCC
显然每个粒子只会和相邻的撞
对每对粒子相撞的时间进行排序
当第 i i i 对粒子产生贡献时 要求前 i − 1 i-1 i−1 对都不能相撞 即有 i − 1 i-1 i−1 组限制
我们把限制打上标记 t a g [ u ] [ 1 / 0 ] [ 1 / 0 ] tag[u][1/0][1/0] tag[u][1/0][1/0] 表示 u u u 向右向左走, u + 1 u+1 u+1 向右向左是一组限制 不能同时满足
d p [ i ] [ 1 / 0 ] dp[i][1/0] dp[i][1/0] 表示前 i i i 个粒子满足当前限制且第 i i i 个粒子向右向左时的概率
则转移有
d p [ i ] [ x ] = p [ i ] [ x ] × ( d p [ i − 1 ] [ 1 ] × ! t a g [ i − 1 ] [ 1 ] [ x ] + d p [ i − 1 ] [ 0 ] × ! t a g [ i − 1 ] [ 0 ] [ x ] ) dp[i][x]=p[i][x]\times(dp[i-1][1]\times !tag[i-1][1][x]+dp[i-1][0]\times !tag[i-1][0][x]) dp[i][x]=p[i][x]×(dp[i−1][1]×!tag[i−1][1][x]+dp[i−1][0]×!tag[i−1][0][x])
那么每次多一组限制就会 O ( n ) O(n) O(n) 来更改 d p dp dp 值
于是我们考虑用线段树优化
d p [ r t ] [ 1 / 0 ] ] [ 1 / 0 ] dp[rt][1/0]][1/0] dp[rt][1/0]][1/0] 表示区间满足限制且第一个向右向左,最后一个向右向左的概率
多一个限制 t a g [ u ] [ 1 / 0 ] [ 1 / 0 ] tag[u][1/0][1/0] tag[u][1/0][1/0] 时 就在树上找到点 u u u 从下往上 p u s h u p push\ up push up
那么第 i i i 对粒子产生贡献的概率就为加限制前合法的概率减去加限制后合法的概率
CF1081G Mergesort Strikes Back
(yxy做了这道题过后 她意识到原来她对概率期望这玩意过敏(大嘘)
考虑这 k k k层归并会把序列分成若干个块。
显然 底层块大小相同的贡献相同 且最多会有两种大小的块
这些块内的顺序是原序列的相对顺序,我们要把这些序列归并起来。
考虑一个块内,每对元素都会有 1 2 \frac{1}{2} 21的概率成为一个逆序对.
所以每个块的贡献就是 ( n 2 ) 1 2 {n\choose 2}\frac{1}{2} (2n)21
再考虑块之间的贡献,对于两个元素不在一个块内,考虑这两个元素到它们的块头的序列。如果这两个序列的最大值是这两个元素之一,那么它们肯定不会成为逆序对(思考归并排序的过程),否则它们的位置关系就和它们本身无关了,那么它们成为逆序对的概率还是 1 2 \frac{1}{2} 21,最后就是 i + j − 2 2 × ( i + j ) \frac{i+j−2}{2\times (i+j)} 2×(i+j)i+j−2
所以我们枚举每种块的长度值算一下就好了。
(这道题考查了对“随机”和归并思想的理解,当然还有概率分析