![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
矩阵树定理
DZYO
Never stop
展开
-
SPOJ104:Highways(矩阵树定理)
关于矩阵树定理的证明:https://wenku.baidu.com/view/872eb02de2bd960590c677c6.html(对了 高斯消元记得判无解)#include<bits/stdc++.h>using namespace std;const double eps=1e-5;namespace IO{ streambuf *ib,*ob;int buf[50];原创 2017-09-07 15:57:20 · 424 阅读 · 0 评论 -
BZOJ3534: [Sdoi2014]重建(变元矩阵树)
看了xehoth大佬的博客,%%%. https://blog.xehoth.cc/MatrixTree/#include<bits/stdc++.h>using namespace std;inline int gcd(int x,int y){return (y?(gcd(y,x%y)):x);}double H[150][150],*matrix[150],f=1;const dou原创 2017-09-26 17:04:04 · 420 阅读 · 0 评论 -
Topcoder SRM551 Div 1 1000:SweetFruits(矩阵树+容斥)
题解:考虑枚举哪几个水果是甜的。 发现如果枚举的数量一样,那么对答案的贡献也一样。那么可以根据枚举数量来一起处理。枚举完数量kkk之后,甜与半甜的不连边,然后跑矩阵树,得到小等于kkk的甜的水果的生成树数量。 因为之前的已经处理过,直接减掉就好。 注意减去的时候要减去组合数,因为这k个中任意组合都会被统计。之后问题变为了数量kkk, 值小等于vvv的个数,这个直接折半就行了。...原创 2018-02-27 22:05:13 · 410 阅读 · 0 评论 -
TCO14 3B 1000:TreeDistance (拉格朗日插值+矩阵树)
题解: 把原图的边看作白边,其他边看作黑边做矩阵树。 根据矩阵树的意义,最后结果为所有边权的乘积,我们扩域把白边边权看作111,黑边看做xxx,那么最后得到的多项式≤k≤k\le k的项即为答案。不过直接做太慢了,用FFTFFTFFT也只能做到n4lognn4lognn^4 \log n,考虑拉格朗日插值,做nnn次矩阵树最后插出原多项式即可,时间复杂度O(n4)O(n4)O(n^4)。...原创 2018-02-28 09:56:37 · 426 阅读 · 0 评论 -
LOJ#6259. 「CodePlus 2017 12 月赛」白金元首与独舞(矩阵树)
传送门题解: 把原来存在的边全部缩到父节点, 最后的图就变为了一个个根节点为’.’或者连向外部的点。我们把外部的点看做根节点,就转化为了树形图计数问题。#include <bits/stdc++.h>using namespace std;typedef long long LL;typedef pair <int,int> pii;inline...原创 2018-04-08 10:45:45 · 152 阅读 · 0 评论