本文章是[学习笔记]概率与期望进阶的一部分
方法1:对称性
• 小结论:
• 在 [ 0 … x ] [0…x] [0…x]之间随机 n n n个数字第 i ( 1 ≤ i ≤ n ) i(1\leq i\leq n) i(1≤i≤n)小的期望是 i ⋅ x n + 1 i·\frac{x}{n+1} i⋅n+1x。
• 把 [ 0 … x ] [0…x] [0…x]分成 n n n段,最短段的期望是 x n 2 \frac{x}{n^2} n2x,次短是 x n ( 1 n − 1 + 1 n ) \frac{x}{n}(\frac{1}{n-1}+\frac{1}{n}) nx(n−11+n1)…。
CF1153F Serval and Bonus Problem
详细题解
没错它又来了…
只不过它是来提醒你可以用上面那个结论转成dp来做。
没错它又走了…
CF303E Random Ranking
这题名字怎么和我的CF id 差不多呢…
• 有 n n n个数字在 [ l i , r i ] [l_i,r_i] [li,ri]之间随机,求第i个数是第j名的概率。
• n ≤ 80 n\leq 80 n≤80
因为只需体现大小关系,所以我们将坐标离散化。
设
d
p
[
a
,
b
,
c
]
dp[a,b,c]
dp[a,b,c]表示那些数字在当前数字的左边,那些正好在当前数字位置上,那些在当前数字右边的概率,此时排名在
[
c
+
1
,
c
+
b
+
1
]
[c+1,c+b+1]
[c+1,c+b+1]中等概率分布。
这样直接做是
O
(
n
5
)
O(n^5)
O(n5)的。
原来的题解的做法是利用生成函数来做的。
设
l
j
,
m
j
,
r
j
l_j,m_j,r_j
lj,mj,rj分别为每个数字
j
j
j在
x
x
x左边/中间/右边的概率。
我们在外层枚举
x
x
x,那么
l
j
,
m
j
,
r
j
l_j,m_j,r_j
lj,mj,rj不变。
接下来就可以表示成二元生成函数的形式:
∏
j
≠
i
(
l
j
⋅
x
+
r
j
⋅
y
+
m
j
)
\prod_{j≠i}(l_j·x+r_j·y+m_j)
j=i∏(lj⋅x+rj⋅y+mj)
然后我们发现当我们从
i
i
i移向
i
+
1
i+1
i+1时就只需要除以一项再添加一项了。
这样复杂度就是
O
(
n
4
)
O(n^4)
O(n4)的了。
然而由于出题人非要输出小数…由于除法很费精度,结果比赛结束后被别人hack了。
之后出题人yy了一个精度小的
O
(
n
4
log
n
)
O(n^4\log n)
O(n4logn)的分治做法…然而比较麻烦。
所以还是老老实实的写
O
(
n
5
)
O(n^5)
O(n5)的休闲暴力吧
UOJ352 新年的五维几何
玄学暴力系列.jpg
设 x 1 , x 2 , ⋯ , x n x_1,x_2,⋯,x_n x1,x2,⋯,xn 是 n n n 个实数变量,其中第 i i i 个变量 x i x_i xi 在区间 [ l i , r i ] [l_i,r_i] [li,ri] 内均匀随机生成,所有 l i l_i li 和 r i r_i ri 均为给定的整数且 l i ≤ r i l_i≤r_i li≤ri(约定 l i = r i l_i=r_i li=ri 时, [ l i , r i ] [l_i,r_i] [li,ri] 表示单元素集合 l i {l_i} li)。
给定 n × n n×n n×n 的整数矩阵,矩阵的每个元素代表一个约束,其中第 i i i 行第 j j j 列的元素 a i , j a_{i,j} ai,j 代表约束 x i − x j ≥ a i , j x_i−x_j≥a_{i,j} xi−xj≥ai,j
求这 n × n n×n n×n 个约束同时被满足的概率。
n ≤ 5 , 0 ≤ l i ≤ r i ≤ 10 , − 10 ≤ a i , j ≤ 10 n\leq5, 0\leq l_i\leq r_i\leq 10, -10\leq a_{i,j}\leq10 n≤5,0≤li≤ri≤10,−10≤ai,j≤10,均为整数
数据超级小,所以我们
O
(
∏
i
=
1
n
(
r
i
−
l
i
+
1
)
)
O(\prod^n_{i=1}(r_i-l_i+1))
O(∏i=1n(ri−li+1))枚举每一个数。
当然我们要计算概率,确定整数部分后,根据给出的约束关系,对仅是有概率满足的就连边表示小数部分的大小约束关系。
然后我们只需要暴力
O
(
n
!
n
)
O(n!n)
O(n!n)check一下某种大小关系是否可行就好了。
中间需要剪枝,单个元素需要特判。
详细题解
复杂度:
O
(
∏
i
=
1
n
(
r
i
−
l
i
+
1
)
⋅
n
!
⋅
n
)
O(\prod^n_{i=1}(r_i-l_i+1)·n!·n)
O(∏i=1n(ri−li+1)⋅n!⋅n)。
AGC020 Arcs on a Circle
• 一个周长为 C C C的圆上,随机放了 N N N条长度为 L i L_i Li的弧,问全都覆盖的概率。
• N ≤ 6 , C ≤ 50 N\leq 6, C\leq 50 N≤6,C≤50
跟上一题差不多…枚举小数部分的大小关系,然后转成离散问题…
后面的操作过于神仙…被我弃掉了…
方法2:积分
比较套路的一种想法
小栗子:
• n n n辆车,第 i i i辆车到达时间在 [ 0 , a i ] [0,a_i] [0,ai]之间均匀分布。
• 问期望等待时间。
• n ≤ 200000 n\leq 200000 n≤200000
sol:
按照套路我们设离散变量
x
∈
[
0
,
a
m
i
n
]
x\in[0,a_{min}]
x∈[0,amin],然后开始积分:
E
[
X
]
=
∫
0
a
m
i
n
∏
i
=
1
n
a
i
−
x
a
i
d
x
E[X]=\int^{a_{min}}_{0}\prod^{n}_{i=1}\frac{a_i-x}{a_i}\ \mathrm{d}x
E[X]=∫0amini=1∏naiai−x dx
这东西直接(分治+FFT)+多项式积分就好。
[ZJOI2015]地震后的幻想乡
• 给你一个图,每条边在[0,1]之间随机,求MST最大边的期望。
• 原题:求MST的期望。
不是很明白,大概是将连通块计数的dp变成多项式然后再多项式积分。
%%rqy神仙的博客
方法3:杂
• 你有一个大小为 1 1 1的披萨,你在上面独立随机地切了了 n n n刀。
• 然后你想选一段使得与 1 3 \frac{1}{3} 31最接近。
• 问与 1 3 \frac{1}{3} 31的差的绝对值的期望是多少。
• 一些简单的分析,就是讲披萨按第一刀切得地方分成
[
0
,
1
3
)
[0,\frac{1}{3})
[0,31),
[
1
3
,
2
3
)
[\frac{1}{3},\frac{2}{3})
[31,32),
[
2
3
,
1
)
[\frac{2}{3},1)
[32,1)这么三段。
• 然后可以理解成你在
[
0
,
1
3
)
[0,\frac{1}{3})
[0,31)里面随机放了
n
−
1
n-1
n−1个点,颜色是随机RGB中的一种,答案就是两个颜色不同点的最近距
离。
• 然后答案为最小的距离
×
\times
×答案为最小的概率+第二小的距离
×
\times
×答案为第二小的概率+…