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+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)的表达式:
我们证明一个变量满足正态分布之后,就大力辛普森积分就好了
这里再引入中心极限定理。。。
前面说的啥看不大懂,而我们能利用的是后面那个结论
我们现在的题意要求我们的随机变量(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))解决