概率期望计数 题解乱写

CF398B

大概是一种很常见的思路。

设 $f_{i,j}$ 表示已经有 $i$ 行 $j$ 列有特殊点。

转移只要考虑是放在了怎样的行列中即可计算出结果。

因为有自环,所以移项消一下即可。

 

CF605E

设 $f_i$ 表示 $i$ 号节点到 $n$ 的期望时间。

考虑如果有了最终的 $f$ 数组,给所有的节点按照 $f$ 的大小排名。

于是所有的节点只会向排名小于等于它的节点转移,然后转移的系数就是所有排名小于转移点的都没选上的概率。

所以写一个类似最短路的东西,每次确定排名最小的就行了。

 

trip

可以把黑白点的贡献分开考虑。

对于黑点,经过一次就产生一次贡献,设 $f_i$ 表示从 $i$ 游走到 $n$ 的期望值。

于是可以列出一个转移方程来,用树上高斯消元的方法搞一下就可以简单推出来。

然后对于白点的贡献可以计算到达每个白点的概率,其实把这个点染黑并删掉子树即可转化为上面的问题。

 

BZOJ5058

考虑直接用期望的线性性,然后可以考虑每对点的贡献。

然后数字 $a_i,a_j$ 可以把整个序列划分为 $i,j$ 和其他位置。

对于所有的其他位置,到达的概率是没有区别的。

然后大概就可以用矩阵快速幂维护。

 

CF838D 

是个见过的方法。考虑新加一个特殊的座位,然后把序列的首尾接在一起变成一个环。

每次仍然是任选一个节点然后任选方向。

有人没座位坐等价于他坐到了特殊的座位上。

因为每个座位都是一样的,所以方案数可以简单计算。

 

CF396E

保证质数并不大。可以考虑从大到小考虑每个质数。

取一次欧拉函数其实就是给指数 $-1$,然后给 $p-1$ 的每个质因子累加上对应的质数。

暴力迭代前20轮 , 就是说如果当前轮这个质数的次幂不为0,那就迭代一下。

如果对于20轮之后,这个质数的次幂还不为1,那就说明:

第一种情况,20至k轮中,每一轮这个质数都能迭代一次。

第二种情况,20至最多能出现的次数轮中,每一轮这个质数都能迭代一次。

所以分别计算大概就行了。

posted @ 2020-04-26 12:07  skyh  阅读(261)  评论(0编辑  收藏  举报