zoukankan      html  css  js  c++  java
  • 生成树系列MatrixTree,Best定理算法流程

    生成树系列Matrix-Tree,Best定理算法流程

    前置知识:矩阵行列式

    Matrix-Tree定理

    对于一个无向图,构造矩阵\(A\)满足

    \[A_{i,j}=\left\{ \begin{aligned} deg_i, && i=j \\ -1 && i和j联通 \\ 0 \end{aligned} \right. \]

    同时去掉任意\(i\)行和\(i\)列, 答案就是\(|A'|\),还可以推广到有重边的图,\(G\)是邻接矩阵(忽略所有自环)

    \[A_{i,j}=\left\{ \begin{aligned} deg_i, && i=j \\ -G_{i,j} && i\ne j\end{aligned} \right. \]

    还可以推广到带边权的图,计算所有生成树边权乘积之和,方法类似

    如果是有向图,点\(S\)为根,则构造类似的矩阵之后去掉第\(S\)行和第\(S\)列即可

    Best定理:欧拉回路计数

    从起点\(S\)出发不重复地遍历所有的有向边

    统计每个点的入度和出度\(indeg_i,outdeg_i\),必然有\(indeg_i=outdeg_i\)

    答案就是生成树方案\(\cdot \Pi(indeg_i-1)!\)

    如果是求遍历序列个数,还要考虑\(S\)不同断点的重复,还要再乘上\(indeg_S\)

    如果认为每条边是一样的,则还要除去\({\Pi G_{i,j}!}\)

  • 相关阅读:
    Windbg使用
    C#与C++之间类型的对应
    Hook CreateProcess
    基于EasyHook实现监控explorer资源管理器文件复制、删除、剪切等操作
    GUID和UUID、CLSID、IID 区别及联系
    hook C++
    EasyHook Creating a remote file monitor
    hook工具
    EasyHook
    Hook exe 和 file
  • 原文地址:https://www.cnblogs.com/chasedeath/p/12716002.html
Copyright © 2011-2022 走看看