zoukankan      html  css  js  c++  java
  • 概率期望计数 题解乱写

    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至最多能出现的次数轮中,每一轮这个质数都能迭代一次。

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

  • 相关阅读:
    Android实战经验之图像处理及特效处理的集锦(总结版)
    Android类似于滚动的通知栏实现
    Python概览
    高效程序员的45个习惯读书笔记
    Web前台传对象字符串到后台并让后台反序列化对象字符串的方法(ASP.NET)
    发布订阅者模式之C#委托实现
    表数据复制(迁移)
    Code Smell
    Python学习过程遇到的Bug不断更新
    Resharper 7小技巧系列:导航、书签、和最近编辑
  • 原文地址:https://www.cnblogs.com/skyh/p/12778635.html
Copyright © 2011-2022 走看看