摘要: 【题目】给定两边节点数为n和m的完全二分图,求生成树数取模给定的p。n,m,p<=10^18。 【算法】生成树计数(矩阵树定理) 【题解】参考自 [bzoj4766]文艺计算姬 by WerKeyTom_FTD 构造完全二分图的基尔霍夫矩阵的余子式如下(去除第一行第一列):n=3,m=3,空白格皆为 阅读全文
posted @ 2017-12-29 10:25 ONION_CYC 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 【题意】给定无向带权图,求最小生成树数。n<=100,m<=1000,相同权值边数<=10。 【算法】最小生成树(MST),DFS 【题解】首先需要一个结论:同个图的不同MST一定满足同个权值的边数相同。 考虑kruskal算法的过程,已经统计了<x的所有边,现在考虑=x的边,根据生成树的性质一定要 阅读全文
posted @ 2017-12-29 09:42 ONION_CYC 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 【排列】 对于1~n的一个排列,定义对换:交换两个相邻元素的位置形成新的排列。 每次对换:要么消除一个逆序对,要么创造一个逆序对,可以证明当序列中不存在相邻逆序对时,序列升序排列。 所以对于给定排列,通过对换得到升序数列的次数奇偶性就是逆序对个数的奇偶性。 【行列式】 仅方阵有行列式。 $det(A 阅读全文
posted @ 2017-12-29 06:57 ONION_CYC 阅读(788) 评论(0) 推荐(1) 编辑