• 20200701线性代数概率期望练习


    CF1264D2 Beautiful Bracket Sequence (hard version)

    题目传送门

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

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

    化简式子:
    (~~~sum_{A+u<B+v}inom{t1}{u}inom{t2}{v})
    (=sum_{A+u<B+t2-v}inom{t1}{u}inom{t2}{t2-v})
    (=sum_{u+v<B-A+t2}inom{t1}{u}inom{t2}{v})
    (=sum_{k=0}^{B-A+t2-1}sum_{u+v=k}inom{t1}{u}inom{t2}{v})
    (=sum_{k=0}^{B-A+t2-1}inom{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^2sum 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{2pi}sigma}exp(-frac{(x-mu)^2}{2sigma^2}) ]

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

    前面说的啥看不大懂,而我们能利用的是后面那个结论
    我们现在的题意要求我们的随机变量(sum_{i=1}^{n}x_iin [A,B])
    那么(Y_nin [frac{A-nmu}{sqrt{n}sigma},frac{B-nmu}{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))解决

  • 相关阅读:
    Hadoop--单点故障修复
    Hadoop---静动态增删节点
    sqlserver 通知应用程序(存储过程通过http调用接口)
    sqlserver 资源等待
    sqlserver 性能优化
    sqlserver 资源等待
    sqlserver 查看内存情况
    sqlserver动态管理视图
    常见散列算法
    sqlserver 性能检测 和 监控
  • 原文地址:https://www.cnblogs.com/Darknesses/p/13217580.html
Copyright © 2020-2023  润新知