首页 > 其他 > 详细

jzoj5153

时间:2020-05-12 14:47:02      阅读:46      评论:0      收藏:0      [点我收藏+]

题意

给定\(n\)\(m\)条带权有向边的图,求所有的以\(n\)为根的内向树形图的边权和之和。\(n\le 300,m\le 10^5\)

做法

矩阵树,考虑一个暴力\(O(mn^3)\)
先算出所有的树形图个数,单独考虑某一条边,去掉后的树形图个数,补集就是用到其的个数

考虑优化,其实就是修改某一行,快速求行列式:
考虑若将第\(k\)行修改成\(c_1,c_2,...,c_{n-1},c_n\),其中\(c_j=\sum\limits_{i=1}^n A_{i,j}x_i\),那么此时矩阵的行列式为\(det(A)\times x_k\)
显然,\(x_k\)可以表示为这样的形式\(\sum\limits_{i=1}^n a_ic_i\)
可以先根据\(c_j=\sum\limits_{i=1}^n A_{i,j}x_i\),把系数\(\{a\}\)解出来,然后就可以直接查询了

\(O(n^3+nm)\)

jzoj5153

原文:https://www.cnblogs.com/Grice/p/12876068.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!