20200701线性代数概率期望练习

CF1264D2 Beautiful Bracket Sequence (hard version)

题目传送门

分析:
考虑一个右括号如果会对最大深度造成贡献,那么它满足在它右边右括号数量会比其左边的左括号少
假设在其右边的右括号数量为\(A\),问号为\(t_1\),其左边的左括号数量为\(B\),问号数量为\(t_2\)
这个右括号的贡献为:

\[\sum_{A+u<B+v}\binom{t1}{u}\binom{t2}{v} \]

化简式子:
\(~~~\sum_{A+u<B+v}\binom{t1}{u}\binom{t2}{v}\)
\(=\sum_{A+u<B+t2-v}\binom{t1}{u}\binom{t2}{t2-v}\)
\(=\sum_{u+v<B-A+t2}\binom{t1}{u}\binom{t2}{v}\)
\(=\sum_{k=0}^{B-A+t2-1}\sum_{u+v=k}\binom{t1}{u}\binom{t2}{v}\)
\(=\sum_{k=0}^{B-A+t2-1}\binom{t1+t2}{k}\)
\(t1\)个里选\(u\)个,\(t2\)里选\(v\)个,那么在\(t1+t2\)里总共选了\(k\)个,是等价的
\(t1+t2\)只有可能有两种取值,当该位置为右括号或者问号时分类讨论即可
\(O(n)\)线性处理即可

CF1286D LCC

题目传送门

分析:
很明显能够相遇的球一定是相邻的球,我们把所有可能的相遇的情况枚举出来(相邻两个球相遇或者追及问题)
个数是\(O(n)\)级别的,并且能够把每一种情况的相遇时间确定下来
假设我们确定了最早碰撞时间,如何计算概率?
\(f_{i,0/1}\)表示第\(i\)个球向左向右走,使得前\(i\)个球不在规定时间内相碰的概率
枚举前一个点的状态,简单分类讨论即可,如果该种情况会在规定时间内碰撞,则不进行转移
这个转移可以化作矩阵乘法的形式
现在我们将所有碰撞的情况按时间从小到大排序,这两个相邻球\(i-1,i\)我们钦定好它们的方向(就是修改\(i\)这个位置的矩阵)
求出答案之后,这种碰撞方案不能再作贡献,因为会比之后的方案时间更早,再次修改这个矩阵
于是线段树维护矩阵积,单点修改整体查询
复杂度\(O(nlogn)\)

CF1267G Game Relics

题目传送门

分析:
我们要采取先抽卡再强买的策略
(玩过抽卡游戏的都明白(大嘘)
比如这个游戏规则,假设我们当前还有\(i\)个物品没抽到,总价值为\(j\)
那么我们抽到没有的物品的期望次数为\(\frac{n}{i}\)
根据规则,我们的花费为\((\frac{n}{i}+1)\frac{x}{2}\)(最后一发出了就没有偿还)
抽出的期望价值为\(\frac{j}{i}\),比较这两者的大小就能选择抽还是强买
//(但是抽卡他不爽吗,当赌狗出货骑脸豹晒当然会比买保底更爽啊)(划去)
很明显对于一个局面,我们先强买再抽,相比于先抽再强买,我们抽的期望花费会变高,但是强买的花费不会变,是不优的
\(f_{i,j}\)表示目前池子里面有\(i\)个没出,总价值为\(j\)的局面出现的概率,这个用背包就可以做了
我们考虑下一步是抽还是强买,取最小代价计入答案即可
复杂度\(O(n^2\sum c)\)

CF1081G Mergesort Strikes Back

题目传送门

分析:
只做\(k\)层归并排序,那么底层的小块是完全随机的,任一点对\((i,j)\)逆序的概率都是\(\frac{1}{2}\)
一个大小为\(x\)的随机排列期望逆序对数为\(\frac{x(x-1)}{4}\),直接加入答案即可
接下来是对于两个随机排列归并排序后,计算两个块之间逆序期望个数
我们不再合并两个块了,直接暴力枚举最底层的块,这样能保证块内是完全随机的
当一个数是它所在块的前缀最大值时,它能够主宰自己的位置归到左边还是右边
但是如果不是前缀最大值,那么它的位置只能看在它之前的第一个前缀最大值了
重现过程,两个块\(A,B\)\(A\)做到了第\(i\)个,\(B\)做到了第\(j\)个,考虑\((i,j)\)对逆序对的贡献
当其中一个点为这\(i+j\)个元素的最大值时,\((i,j)\)便一定不能贡献逆序对了,大的一方一定会放在后面
否则就要看它们的前缀最大值了,由于完全随机,贡献依然是\(\frac{1}{2}\)
那么一个点对\((i,j)\)的贡献为\(\frac{i+j-2}{2(i+j)}=\frac{1}{2}-\frac{1}{i+j}\)
预处理倒数前缀和就可以\(O(n)\)计算
同样大小的块贡献相同,不必重复计算
平摊下来的复杂度为\(O(n)\)

CF618G Combining Slimes

题目传送门

分析:
STO CQzhangyu ORZ
扑通扑通跪下来

CF506E Mr.Kitayuta's Gift

题目传送门

分析:
STO CQzhangyu ORZ
扑通扑通跪下来

LOJ2267 龙与地下城

题目传送门

分析:
(这道题很好得考察了OI选手的文化课知识水平,为选手在OI之路上的奋斗提供了有力的援助(划去)
(各位有在好好上数学必修3吗(反正我没有,我只会看题解)

若随机变量\(X\)的期望为\(\mu\),方差为\(\sigma^2\),那么它就称为正态随机变量,其概率密度函数\(f\)的表达式:

\[f(x)=\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(x-\mu)^2}{2\sigma^2}) \]

我们证明一个变量满足正态分布之后,就大力辛普森积分就好了
这里再引入中心极限定理。。。

前面说的啥看不大懂,而我们能利用的是后面那个结论
我们现在的题意要求我们的随机变量\(\sum_{i=1}^{n}x_i\in [A,B]\)
那么\(Y_n\in [\frac{A-n\mu}{\sqrt{n}\sigma},\frac{B-n\mu}{\sqrt{n}\sigma}]\)
这函数在\(n\)足够大时非常接近正态分布\(N(0,1)\)的概率密度函数,大力辛普森积分
可是当\(n\)不够大,再加上辛普森积分只能求近似值,会出现精度误差。。。
我们设生成函数\(f(x)=\sum_{i=0}^{X-1}a_ix^i\),每一项系数表示\(i\)出现的概率
由于概率相等,\(a_i=\frac{1}{X}\)
模拟丢骰子过程,结果的概率生成函数为\(f^Y(x)\)
直接查询某一区间的概率即可
解法即为小数据\(FFT\),大数据辛普森积分
复杂度玄学2333

LOJ6295 无意识之外的捉迷藏

题目传送门

分析:
场外求助,挖坑待填。。。

LOJ3080 国际象棋

题目传送门

分析:
容易想到一个规模为\(O(nm)\)的高斯消元做法,复杂度为\(O(n^3m^3)\)
发现一行的方程上,只有9个元,非常浪费时间和空间
尝试使用主元法,我们将第一行,第二行,第一列的所有元素当做主元,尝试将剩下的所有位置的元用主元表达
\((i,j)\)从第一行开始,我们目前知道了第\(i\)行,第\(i+1\)行,第\(j\)列的所有元的表达
由于:\(f_{i,j}=p_1f_{i-2,j-1}+p_2f_{i-2,j+1}+p_3f_{i-1,j-2}+p_4f_{i-1,j+2}+p_5f_{i+1,j-2}+p_6f_{i+1,j+2}+p_7f_{i+2,j-1}+p_8f_{i+2,j+1}+1\)
发现里面只有\(f_{i+2,j+1}\)我们不知道怎么表达,于是便用这个式子表达出它
从上往下从左到右我们能够表达出所有点,当一个点超出棋盘了,那么该点答案就为0,带回表达式求解即可
只会有\(2m+n\)个元,直接高斯消元\(O(n^3)\)解决

posted @ 2020-07-01 15:08  Izayoi_Doyo  阅读(567)  评论(0编辑  收藏  举报