2019湖南省赛H题——概率转移&&逆矩阵
题意
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题——概率转移&&逆矩阵的更多相关文章
- hdu6578 2019湖南省赛D题Modulo Nine 经典dp
目录 题目 解析 AC_Code @ 题目 第一题题意是一共有{0,1,2,3}四种数字供选择,问有多少个长度为n的序列满足所有m个条件,每个条件是说区间[L,R]内必须有恰好x个不同的数字. 第二题 ...
- 2013年省赛H题
2013年省赛H题你不能每次都快速幂算A^x,优化就是预处理,把10^9预处理成10^5和10^4.想法真的是非常巧妙啊N=100000构造两个数组,f1[N],间隔为Af2[1e4]间隔为A^N,中 ...
- 2018湖南省赛B题“2018”
题面懒得敲了,反正看这篇博客的肯定知道题面. 比赛时想按约数的一些性质分情况讨论出公式然后在合并,结果单考虑矩阵里出现2018和1009(与2互质,1009出现次数等于2)出现的情况就写了一长串公式, ...
- 2019 ICPC南京站网络赛 H题 Holy Grail(BF算法最短路)
计蒜客题目链接:https://nanti.jisuanke.com/t/41305 给定的起点是S,终点是T,反向跑一下就可以了,注意判负环以及每次查询需要添加边 AC代码: #include< ...
- 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)
2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...
- ZOJ 3822 ( 2014牡丹江区域赛D题) (概率dp)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5376 题意:每天往n*m的棋盘上放一颗棋子,求多少天能将棋盘的每行每列都至少有 ...
- HDUOJ-------2493Timer(数学 2008北京现场赛H题)
Timer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- 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 ...
- 2017CCPC中南地区赛 H题(最长路)
题目地址:202.197.224.59/OnlineJudge2/ 来自湘潭大学OJ. 这里用到了一个树的直径(树中的最长边)的结论:当你找到一棵树的最长边后,这个树中所有点的最长边必定和这条边的两个 ...
随机推荐
- 观察者(Observer)模式
观察者模式又叫做发布-订阅模式(Publish.Subscribe)模式.模型-视图模式(Model/View)模式.源-监听器模式(Source/Listener)模式或从属者(Dependents ...
- Android -- SEGV_MAPERR,SEGV_ACCERR
Per siginfo.h: SEGV_MAPERR means you tried to access an address that doesn’t map to anything. SEGV_A ...
- Python实现Newton和lagrange插值
一.介绍Newton和lagrange插值:给出一组数据进行Newton和lagrange插值,同时将结果用plot呈现出来1.首先是Lagrange插值:根据插值的方法,先对每次的结果求积,在对结果 ...
- 在linux上安装elasticsearch简称ES 简单介绍安装步骤
1.简介 Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 ...
- Prometheus监控学习笔记之容器监控Grafana模块
0x00 概述 Grafana 是一个开源的,可以用于大规模指标数据的可视化项目,甚至还能对指标进行报警.基于友好的 Apache License 2.0 开源协议,目前是prometheus监控展示 ...
- 动画重定向技术分析及其在Unity中的应用
前言 笔者新的手游项目使用Unity引擎,动画部分要使用重定向技术来实现动画复用.笔者之前在大公司工作的时候对这块了解比较深入,读过Havok引擎在这部分的实现源码,并基于自己的理解,在公司自研的手游 ...
- java面试经常涉及到的
需要掌握的Java知识点: 1 基本数据类型.循环控制.String类型的使用.数组.类和对象.接口和抽象类.面向对象三大特征.异常处理.集合类(List.Map.Set) 2 能够熟练使用Sprin ...
- C#文件操作之把字符串取到文本文件及把文本文件读取到字符串中
一.把字符串读取到文本文件中 using (FileStream fs = new FileStream(Path, FileMode.OpenOrCreate))//把json读到一个文本中 { S ...
- 2019 吉比特java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.吉比特等公司offer,岗位是Java后端开发,因为发展原因最终选择去了吉比特,入职一年时间了,也成为了面试官 ...
- Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用
Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...