题意

题目链接

Bobo有一个 $n+m$ 个节点的有向图,编号分别为 $1 \sim n$,他还有一个 $n$ 行 $n+m$ 列的矩阵 $P$。

如果在 $t$ 时刻他位于节点 $u(1 \leq u \leq n)$,那么在 $(t+1)$ 时刻他在节点 $v$ 的概率为 $P_{u,v}/10000$;

如果在 $t$ 时刻它位于节点 $u(u > n)$,那么在 $(t+1)$ 时刻他在节点$u$ 的概率是1.

0时刻Bobo位于节点1,求无穷久之后,它位于节点 $(n+1), (n+2), ..., (n+m)$ 的概率。

分析

求无穷久的情况,要么进入循环,要么像等比数列求和一样收敛于某个数,总不可能一步一步模拟吧。

套路一波,用向量 $D_i = (d_1, d_2, ...,d_{n+m})$ 表示移动 $i$ 次之后在各个点的概率。

易知,$d_1 = d_1*P_{1,1} + d_2*P_{2,1} + ..+ d_{n+m}*P_{n+m, 1}$,同理可得 $d_2, d_3,..,d_{n+m}$,这样的转移可以写成矩阵的形式

将输出的 $n$ 行 $n+m$ 列,根据题意,可在左下补上全0,右下补上单位矩阵,得到矩阵 $X$,

则 $D_n = D_{n-1}*X, \ D_1=(1, 0, 0,..., 0)$.

即 $D_n = D_0 * X^n$.

由分块矩阵的知识,将 $X$ 写成4个子矩阵:左上角(n * n)部分为A,右上角(n * m)部分为B,左下角(m * n)部分是零矩阵,右下角(m * m)部分为单位矩阵E:

$$x = \begin{bmatrix}
A & B\\
0 & E
\end{bmatrix}$$

算一下容易发现:

$$x^n = \begin{bmatrix}
A^n & (B+AB+...+A^{n-1}B)\\
0 & E
\end{bmatrix}$$

当 $n$趋于无穷大时,结合实际意义,$A^n=0$.

根据等比数列的求和公式,得到:

$$B+AB+...+A^{n-1}B = \frac{E-A^n}{E-A}*B$$

因为 $n$ 趋于无穷,所以

$$\frac{E-A^n}{E-A}*B = \frac{E}{E-A} *B = (E-A)^{-1}*B$$

利用高斯消元,O(n^3)复杂度得到该逆矩阵。

这样就求出了 $n$ 取余无穷大时 $X^n$ 的值,与 $D_0$ 相乘,就得到了答案。

参考链接:https://blog.csdn.net/qq_43202683/article/details/100170570

2019湖南省赛H题——概率转移&&逆矩阵的更多相关文章

  1. hdu6578 2019湖南省赛D题Modulo Nine 经典dp

    目录 题目 解析 AC_Code @ 题目 第一题题意是一共有{0,1,2,3}四种数字供选择,问有多少个长度为n的序列满足所有m个条件,每个条件是说区间[L,R]内必须有恰好x个不同的数字. 第二题 ...

  2. 2013年省赛H题

    2013年省赛H题你不能每次都快速幂算A^x,优化就是预处理,把10^9预处理成10^5和10^4.想法真的是非常巧妙啊N=100000构造两个数组,f1[N],间隔为Af2[1e4]间隔为A^N,中 ...

  3. 2018湖南省赛B题“2018”

    题面懒得敲了,反正看这篇博客的肯定知道题面. 比赛时想按约数的一些性质分情况讨论出公式然后在合并,结果单考虑矩阵里出现2018和1009(与2互质,1009出现次数等于2)出现的情况就写了一长串公式, ...

  4. 2019 ICPC南京站网络赛 H题 Holy Grail(BF算法最短路)

    计蒜客题目链接:https://nanti.jisuanke.com/t/41305 给定的起点是S,终点是T,反向跑一下就可以了,注意判负环以及每次查询需要添加边 AC代码: #include< ...

  5. 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)

    2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...

  6. ZOJ 3822 ( 2014牡丹江区域赛D题) (概率dp)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5376 题意:每天往n*m的棋盘上放一颗棋子,求多少天能将棋盘的每行每列都至少有 ...

  7. HDUOJ-------2493Timer(数学 2008北京现场赛H题)

    Timer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  8. Sdut 2409 The Best Seat in ACM Contest(山东省第三届ACM省赛 H 题)(模拟)

    题目描述 Cainiao is a university student who loves ACM contest very much. It is a festival for him once ...

  9. 2017CCPC中南地区赛 H题(最长路)

    题目地址:202.197.224.59/OnlineJudge2/ 来自湘潭大学OJ. 这里用到了一个树的直径(树中的最长边)的结论:当你找到一棵树的最长边后,这个树中所有点的最长边必定和这条边的两个 ...

随机推荐

  1. [转帖]自动交互式脚本--expect

    自动交互式脚本--expect https://www.cnblogs.com/zhuiluoyu/p/4873869.html 我们经常会遇到一些需要与服务器程序打交道的场景,比如,从登陆某个服务器 ...

  2. Django ORM 数据库增删改查

    Django ORM 数据库增删改查 增 # 创建.增加数据(推荐) models.UserInfo.objects.create(username=') # 创建.增加数据 dic = {'} mo ...

  3. MySQL数据类型之BLOB与TEXT及其最大存储限制

    https://blog.csdn.net/q3dxdx/article/details/51014357 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.n ...

  4. lnmp1.4安装包

    https://lnmp.org/install.html nginx中虚拟机中的配置 location ~ .*\.(php|php5)?$ { try_files $uri =404; fastc ...

  5. Wireshark教程之二:Wireshark捕获数据分析

    使用 Wireshark 选择需要抓包的网络方式,并设置过滤器条件,当有数据通信后即可抓到对应的数据包,这里将分析其每一帧数据包的结构. 以HTTP协议为例,一帧数据包一般包括以下几个部分: Fram ...

  6. https相关知识总结

    从园子里看到很多讲解不错的文章,将链接放到这里,备忘 浅析数字证书:https://www.cnblogs.com/hyddd/archive/2009/01/07/1371292.html

  7. javaScript 对象的hasOwnProperty方法打印window自定义属性

    for (var name in window) { if (window.hasOwnProperty(name)) { window.console.log ( name + " : & ...

  8. 任意图像尺寸变成目标尺寸(包含相应的boxes的变换)

    def image_preporcess(image, target_size, gt_boxes=None): image = cv2.cvtColor(image, cv2.COLOR_BGR2R ...

  9. RabbitMQ启动出现的问题与解决办法

    问题1 使用命令启动 service rabbitmq-server start 报错如下: Starting rabbitmq-server (via systemctl): Job for rab ...

  10. Python 列表推导式、矩阵、格式化输出

    列表推导式 列表推导式提供了从列表.元组创建列表的简单途径.语法: [表达式 for语句 if语句] 创建并返回一个列表.if语句可选. 示例: list1=[1,2,3,4] #使用元组也行 lis ...