Random Walk 2

【2.4】Gauss-Jordan消元法求矩阵的逆
高斯消元求矩阵的逆,伴随单位矩阵一起消元即可。
[A,I]→[I,A−1][\text A,\text I]\to [\text I,\text A^{-1}][A,I]→[I,A−1]



移项变形,后就是个矩阵的逆,为啥赛时不写???草(一种植物)

#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const ll mod=998244353;
const int N=310;
int W[N][N];
ll P[N][N],P0[N][N];
ll I[N][N],A[N][N];
int n;
ll qmi(ll a,ll b)
{ll v=1;while(b){if(b&1) v=v*a%mod;b>>=1;a=a*a%mod;}return v;
}
void Inv()
{for(int c=1,r=1;c<=n;c++){int t=r;for(int i=c;i<=n;i++)if(abs(P[i][c])>abs(P[t][c])) t=i;if(P[t][c]==0) continue;for(int j=1;j<=n;j++) {swap(I[t][j],I[r][j]);swap(P[t][j],P[r][j]);}ll inv=qmi(P[r][c],mod-2);for(int j=1;j<=n;j++){I[r][j]=I[r][j]*inv%mod;P[r][j]=P[r][j]*inv%mod;}for(int i=1;i<=n;i++)if(i!=r&&P[i][c]!=0){ll v=P[i][c];for(int j=1;j<=n;j++){I[i][j]=(I[i][j]-v*I[r][j]%mod+mod)%mod;P[i][j]=(P[i][j]-v*P[r][j]%mod+mod)%mod;}}r++;}}
void Mul() // I-1 × P0
{for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) A[i][j]=0;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)   for(int k=1;k<=n;k++) A[i][j]=(A[i][j]+I[i][k]*P0[k][j]%mod)%mod;
}
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);int Tc=1;cin>>Tc;while(Tc--){cin>>n;for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>W[i][j];for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) P[i][j]=P0[i][j]=0,I[i][j]=(i==j);for(int i=1;i<=n;i++){ll tot=0;for(int j=1;j<=n;j++) tot+=W[i][j];ll inv=qmi(tot,mod-2);for(int j=1;j<=n;j++){if(i!=j) P[i][j]=1ll*W[i][j]*inv%mod;else P0[i][j]=1ll*W[i][j]*inv%mod;}for(int j=1;j<=n;j++){P[i][j]=mod-P[i][j];if(i==j) P[i][j]=1;}}Inv();Mul();for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cout<<A[i][j]<<" \n"[j==n];}return 0;
}

2021“MINIEYE杯”中国大学生算法设计超级联赛(5)Random Walk 2(推式子+矩阵逆+矩阵乘)相关推荐

  1. 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(3)签到题3题

    2021"MINIEYE杯"中国大学生算法设计超级联赛(3) Start Time : 2021-07-27 12:00:00 End Time : 2021-07-27 17:0 ...

  2. 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(1)签到题15869

    2021"MINIEYE杯"中国大学生算法设计超级联赛(1) Start Time : 2021-07-20 12:10:00 End Time : 2021-07-20 17:1 ...

  3. 2021“MINIEYE杯”中国大学生算法设计超级联赛

    2021"MINIEYE杯"中国大学生算法设计超级联赛 1006 Given a sequence of integers of length n, find the shorte ...

  4. 2021“MINIEYE杯”中国大学生算法设计超级联赛(2)

    2021"MINIEYE杯"中国大学生算法设计超级联赛(2) 1008 I love exam (类背包DP) 1010 I love permutation (数学构造,剩余系) ...

  5. 7068 Dota2 Pro Circuit 杭电多校(2021“MINIEYE杯”中国大学生算法设计超级联赛9) [贪心+双指针]

    题目 Dota2 Pro Circuit *Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Oth ...

  6. 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(5)签到题4题

    Solved Pro.ID Title Ratio(Accepted / Submitted) 1001 Miserable Faith 33.33%(19/57) 1002 String Mod 2 ...

  7. 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(8)

    1006 GCD Game (博弈论,nim游戏,质因子个数) 题意:有n个数a1,a2....an两个人玩游戏,Alice先动,Bob后动每次可以将一个数变为他的因子,直到不能动就输了. 题解:将问 ...

  8. 2021“MINIEYE杯”中国大学生算法设计超级联赛(1)个人解题报告

    文章目录 HDU6950 Mod, Or and Everything HDU6954 Minimum spanning tree HDU6958 KD-Graph HDU6957 Maximal s ...

  9. 2021“MINIEYE杯”中国大学生算法设计超级联赛(8)(1002,1004,1006,1009)

    前言 依旧是白嫖账号,只打了一些题/kk 正题 1002 Buying Snacks 题目大意 nnn个物品,每个可以买一次也可以不买,如果买需要选择1/21/21/2块钱的,然后也可以相邻两个一起买 ...

  10. 2021“MINIEYE杯”中国大学生算法设计超级联赛(7)部分题解

    前言 找大佬嫖到个号来划水打比赛了,有的题没写或者不是我写的就不放了. 目前只有:1004,1005,1007,1008,1011 正题 题目链接:https://acm.hdu.edu.cn/con ...

最新文章

  1. (转)Ext与.NET超完美整合 .NET开发者的超级优势
  2. Drawable的Tint变色(让Android也能有iOS那么方便的图片色调转换)
  3. c#大文件读取和写入数据库
  4. Kafka0.10.2.0分布式集群安装
  5. IBM发明世界首个人造神经元,人工智能的底层硬件基石已完成!
  6. 【故障修复】SharePoint Designer 无法登陆网站
  7. (学)新版动态表单研发,阶段成果----1
  8. hdu 1269(Tarjan求强连通分量)
  9. Linux学习 Unit 9
  10. JSP的9个内置对象-response
  11. ubuntu迁移到_为什么Ubuntu开发人员门户迁移到DjangoCMS
  12. html chart标签,用 Chart.js 画扇形图并显示标签
  13. Metadata Lock原理4
  14. 洛谷 1984 [SDOI2008]烧水问题
  15. leetcode【121】Best Time to Buy and Sell Stock【c++,O(n)复杂度,时间97%,空间100%】
  16. 【数学】对向量的求导和Jacobian矩阵的几何意义与Hessian矩阵
  17. Java实现 LeetCode 488 祖玛游戏
  18. zip 命令的解释与示例
  19. 什么是Hosts文件以及如何修改Hosts文件
  20. 2019秋季PAT甲级考试总结:努力+策略+运气

热门文章

  1. java并行流 阻塞主线程_多线程入门案例与java8的并行流
  2. 网学天地计算机组成与原理试题,哈工大2007年秋季学期计算机组成原理期末试题...
  3. python打包成安装包_把 python 程序打包成 egg 或者 whl 安装包
  4. 在php中使用kind,KindEditor 4.x在PHP中的应用实例!
  5. qt 从文件中读出数据显示在表格中_QT中有什么控件可以实现向excel的表格显示,qt数据存储到Excel表格...
  6. accdb原有的数据怎么清除_VBA中利用数组对数据批量处理的方法
  7. 7-5 流水作业调度 (10 分)(思路+详解+johnson解析)Come Baby!!!!!!!!!!
  8. MySql :Could not create connection to database server.
  9. C++泛型编程实现二叉搜索树BST
  10. [蓝桥杯][2013年第四届真题]核桃的数量-枚举(水题)