随笔分类 -  算法->数学->Matrix-Tree定理

摘要:题解 基尔霍夫矩阵,外向树是入度矩阵 邻接矩阵 必须删掉第一行第一列然后再求行列式 代码 cpp include define fi first define se second define pii pair define pdi pair define mp make_pair define p 阅读全文
posted @ 2018-12-08 22:06 sigongzi 阅读(248) 评论(0) 推荐(0)
摘要:题解 又是一道取模不给质数的毒瘤矩阵树题 不会写分数类……然后发现了网上过于神仙的题解类似与辗转相除的这样把某一个位置消成0 orz 代码 cpp include define fi first define se second define pii pair define mp make_pair 阅读全文
posted @ 2018-09-14 16:40 sigongzi 阅读(182) 评论(0) 推荐(0)
摘要:题解 考虑kruskal 我们都是从边权最小的边开始取,然后连在一起 那我们选出边权最小的一堆边,然后这个图就分成了很多联通块,把每个联通块内部用矩阵树定理算一下生成树个数,再把联通块缩成一个大点,重复取下一个边权的边进行操作 好想然而不是很好写= =写起来感觉有点麻烦 模数非质数,用long do 阅读全文
posted @ 2018-06-22 08:55 sigongzi 阅读(224) 评论(0) 推荐(0)
摘要:题解 我一开始写的最小表示法写的插头dp,愉快地TLE成60分 然后我觉得我就去看正解了! 发现是容斥 + 矩阵树定理 矩阵树定理对于有重边的图只要邻接矩阵的边数设置a[u][v]表示u,v之间有几条边就好 我们枚举哪些公司不用,然后用矩阵树求一下生成几棵树,复杂度$2^{n 1}(n 1)^3$ 阅读全文
posted @ 2018-06-15 10:17 sigongzi 阅读(191) 评论(0) 推荐(0)
摘要:题解 这道题是求一个有向图的外向生成树 入度矩阵对应着外向生成树,出度矩阵对应着内向生成树,知道了这个就可以求出基尔霍夫矩阵了,同时n 1阶主子式一定要删掉根节点的一行一列 代码 cpp include include include include include include include 阅读全文
posted @ 2018-05-31 13:57 sigongzi 阅读(172) 评论(0) 推荐(0)