高斯消元
seeeagull
这个作者很懒,什么都没留下…
展开
-
[P3211][HNOI2011]XOR和路径(高斯消元)
和计算期望步数的方法差不多,只要分别计算每一位是1的期望,然后加一下就好了。注意可能有自环,建图时要判断是否建正反边。#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=105,M=10010;struct edge{ int y...原创 2019-06-20 09:23:43 · 97 阅读 · 0 评论 -
[P4111][HEOI2015]小Z的房间(矩阵树定理)
矩阵树定理的板子题。相关定义:邻接矩阵A:若有边 (i,j)则A[i,j]=A[j,i]=1,否则为0。如果图有重边,那么A[i,j]和A[j,i]等于边(i,j)的条数。度数矩阵D: D[i,i]为点i的度数,其他位置均为0 。基尔霍夫矩阵: C=D−A。基尔霍夫矩阵每行内数的和和每列内的和都为0 ,所以行列式为0 。余子式:一个矩阵C的余子式M[i,j]表示C去掉第...原创 2019-06-20 21:18:08 · 138 阅读 · 0 评论 -
[P4336][SHOI2016]黑暗前的幻想乡(容斥+矩阵树定理)
要求n-1个公司各建一条路,首先把所有公司的路都加上贡献,用一次矩阵树定理。但是其中有不合要求的。所以再减去有一家公司没用的,就是从n-1个公司中选出n-2个,加上贡献,用矩阵树定理,总答案减去得到的答案。但又多减了只用n-3个公司的,还要再加上……一直到处理完只选一家的,就得到了最终答案。我高斯消元时用的辗转相除,比逆元慢,不过也能过。#include<cstdio>#i...原创 2019-06-20 23:21:29 · 138 阅读 · 0 评论 -
[P4455][CQOI2018]社交网络(矩阵树定理)
关于矩阵树定理用于有向图生成树计数:①内向树生成树计数。A为邻接矩阵, D为出度矩阵。C=D−A。以root为根的内向生成树个数为C的余子式M[root,root]的行列式。②外向树生成树计数。A为邻接矩阵, D为入度矩阵。C=D−A。以root为根的外向生成树个数为C的余子式M[root,root]的行列式。然后这就是一道板子题了。#include<...原创 2019-06-21 09:57:26 · 192 阅读 · 0 评论 -
[P3317][SDOI2014]重建(矩阵树定理)
矩阵树定理应用:给定一个边带权的图,求其所有生成树的边权积之和。A为边权矩阵, D为发出边权和矩阵。即对于一条边(u,v),边权为w, A[u,v]=A[v,u]=w。如果有重边, A[u,v]为所有边(u,v)的权值和。D[u,u]等于由u发出的所有边的权值之和。对于任意 u≠v,D[u,v]=0。C=D−A。所有生成树的边权积之和等于C的任意余子式M[i,i]的...原创 2019-06-21 10:11:40 · 176 阅读 · 0 评论 -
[P4208][JSOI2008]最小生成树计数(矩阵树定理)
按照kruskal尽量选权值小的边的方法,相同权值的边,不管怎么选,对连通块的改变情况一定是一样的。所以从小到大,对于每种权值的边做一次矩阵树定理,乘积就是答案。#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int mod=31011,N=...原创 2019-06-21 16:49:03 · 217 阅读 · 0 评论