矩阵树定理
C202044zxy
这个作者很懒,什么都没留下…
展开
-
[HDU 5304] Eastest Magical Day Seep Group‘s Summer
https://vjudge.net/contest/397200#status/C202044zxy/C/0/原创 2020-10-07 19:43:11 · 131 阅读 · 0 评论 -
[省选联考 2020 A 卷]作业题
一、题目点此看题二、解法学了好久的前置芝士才切掉这道题原创 2020-07-29 16:14:55 · 173 阅读 · 0 评论 -
[学习笔记] Matrix tree定理
前言为了回归算法本身,为了搞懂算法,我参考了不同博客,并将他们做出整合和补充:https://www.luogu.com.cn/blog/tanrui-2960967961/matrix-tree-ding-li-ji-ji-ying-yong#https://blog.csdn.net/a_crazy_czy/article/details/72971868https://www.cnblogs.com/zj75211/p/8039443.htmlhttps://www.cnblogs.com原创 2020-07-20 21:01:04 · 663 阅读 · 0 评论 -
CF917D Stranger Trees
一、题目点此看题二、解法虽然是求生成树,但是真的想不到怎么做啊,可能真就是永远做不出来的题吧。可以考虑给树边加权xxx,非树边权值固定为111,矩阵树能求这个东西:xk∑∏wex^k\sum\prod w_exk∑∏we不难看出这是一个n−1n-1n−1次多项式,它的系数就是我们想要的答案,那么我们可以取nnn个点,就可以解出它的系数表达式。至于点值计算那一部分,就要用我们的矩阵树定理了。对于我这个蒟蒻,这道题我可以学的就是可以给特殊边加权#include <cstdio>#原创 2020-07-20 11:31:26 · 122 阅读 · 0 评论 -
[SDOI2014]重建
一、题目点此看题二、解法本体考察了矩阵树的扩展,他不仅仅能求生成树个数,其实它的本质是求所有生成树的边权乘积的和,生成树个数是边权为111的特殊情况罢了。形式化地说,矩阵树定理求的是这个:∑T∏e∈Tpe\sum_{T}\prod_{e\in T}p_eT∑e∈T∏pe但是本题要求只选n−1n-1n−1条边,每条边有pep_epe可能出现,所以求的是这个:∑T(∏e∈Tpe∏e∉T(1−pe))\sum_{T}(\prod_{e\in T} p_e\prod_{e\not\in T}(原创 2020-07-20 10:27:53 · 180 阅读 · 0 评论 -
[SHOI2016]黑暗前的幻想乡
一、题目点此看题二、解法好久没有做过这么版的题了首先你要知道指数级容斥,也就是我们枚举一个公司集合,表示我们只在这些公司中选边,那么我们就用全部公司-少一个公司+少两个公司…来计算就行。知道边算生成树,不就是矩阵树定理么?#include <cstdio>#include <vector>#include <cstring>#include <iostream>using namespace std;#define int long lo原创 2020-07-20 09:48:02 · 181 阅读 · 0 评论 -
[模板] Matrix-Tree 定理
一、题目点此看题二、解法本题就是矩阵树定理中外向树的情况。矩阵树定理原来求的是生成树的数量,但是这里要求生成树边权乘积之和,观察行列式的定理,不难发现矩阵构建时换成边权就行了。有两个结论:外向树的度数矩阵是到该点的入边权值总和;内向树的度数矩阵是到该点的出边权值总和如果需要指定iii为根,那么就删除iii行iii列的再求行列式即可原理作者没有搞太懂,中考完了再深究吧。#include <cstdio>#include <iostream>using name原创 2020-07-08 13:24:28 · 234 阅读 · 0 评论