
矩阵树定理
stargazer.
夜を穿つの
展开
-
【HDU 4408】Minimum Spanning Tree(矩阵树定理 / 最小生成树)
传送门考虑KruscalKruscalKruscal的过程按权值从小到大对每个权值的每个连通块做一次矩阵树注意判不连通,n=1且m=0,mod=1不连通,n=1且m=0,mod=1不连通,n=1且m=0,mod=1的情况#include<bits/stdc++.h>using namespace std;#define cs const#define re regist...原创 2020-02-27 19:43:42 · 263 阅读 · 0 评论 -
【LOJ #6072】 「2017 山东一轮集训 Day5」苹果树(容斥 / 搜索 / 矩阵树定理)
传送门考虑求出kkk个好苹果时权值和≤lim\le lim≤lim的方案数这个可以用折半搜索+双指针求出来设权值不为−1-1−1的苹果有mmm个然后考虑把苹果分成三部分:1−k:最后是有用的苹果1-k:最后是有用的苹果1−k:最后是有用的苹果k+1−m:好的但无用的苹果k+1-m:好的但无用的苹果k+1−m:好的但无用的苹果m+1−n:坏苹果m+1-n:坏苹果m+1−n:坏苹果那么...原创 2020-02-17 15:12:24 · 342 阅读 · 0 评论 -
【LOJ#6271】【长乐集训 2017 Day10】生成树求和 加强版(矩阵树定理)
传送门由于是三进制不进位加法考虑矩阵树求得是边权积的和于是用w3w_3w3做dftdftdft把加法转成乘法做矩阵树之后再idftidftidft回来即可至于逆元(a+bw)(a+bw2)=a2−ab+b2(a+bw)(a+bw^2)=a^2-ab+b^2(a+bw)(a+bw2)=a2−ab+b2#include<bits/stdc++.h>using namesp...原创 2019-10-15 07:53:40 · 430 阅读 · 0 评论 -
【BZOJ4596】【SHOI2016】—黑暗前的幻想乡(矩阵树+容斥)
传送门每个公司恰好一条边不好求容斥后变成最多n−1n-1n−1个公司有边−-−最多n−2n-2n−2个公司没边+最多n−3n-3n−3个公司有边……每次矩阵树做一次就完了复杂度O(2nn3)O(2^nn^3)O(2nn3)#include<bits/stdc++.h>using namespace std;const int RLEN=1<<20|1;inl...原创 2019-07-17 15:29:35 · 147 阅读 · 0 评论 -
【我也不知道是从哪儿来的题】—树(矩阵树定理)
题目给一棵n 个节点的树,节点分别编号为0 到n - 1。你可以通过如下的操作来修改这棵树:首先先删去树上的一条边,此时树会分裂为两个连通块,然后在两个连通块之间加上一条新的边使得它们变成一棵新的树。问有多少棵n 个节点的树可以通过对原树进行不超过k 次这样的操作来得到,答案对10^9 + 7 取模。如果有一条边(u; v) 出现在了树A 中且不在树B中,我们就认为树A 和树B 是不同...原创 2019-09-05 16:56:56 · 233 阅读 · 0 评论