• 最小树形图


    最小树形图

    概念:在一个给定边的有向图中,求以一个点为根的生成树,换句话说这个图中只有一个点入度为0,其余点入度均为1,且在此基础上进行约束,如要求边权和最小等

    首先,在最小树形图中一般要以弧的形式存图,并保存一个点的前驱

    主体就是朱刘算法,分4个步骤

    1.求最短弧集合

    2.判断集合中是否有环,具体就是自己成为自己的祖先,从当前结点一直染色,直到染到根或自己

    3.若有环,缩点,重新求最短弧集合

    4.统计结果输出

    比较重要的就是缩点时的操作,据说可以用tarjan优化,日后学会了再补上

    类似于并查集的思想,记录每个集合中的代表结点,并对所有弧进行一次修改

    关键在于处理好改权值的问题,将每个点在环外入边的权值减去环内入边的权值,同时保留每次的统计和,只计算增量

    ​ ——2020.5.11


    最重要的步骤也是最容易写错的步骤还是最后一步的减边权了,用更好理解的话说,如果一个点位于环内,一个点位于环外,那么就要将环外的点到环内的点的费用减掉环内最小的费用,也就相当于删除指向环内的点的边 而从环外点指向环内

    不定根最小树形图

    类似于大部分图论算法,利用虚拟源点来处理不定根问题

    统计所有边权和,建立虚拟源点,并向原图中每个点连一条大于sum的边,避免对结果产生影响

    原图中的根就是直接与虚拟源点相邻的点,可以在松弛时统计出来

    例题:http://acm.hdu.edu.cn/showproblem.php?pid=2121

    ——2020.5.21

  • 相关阅读:
    2020.08.02 周作业简要题解
    Codeforces Round #659【部分题解】
    2020.07.25 周作业简要题解
    我遇到的前端面试题总结(2018)
    React懒加载组件实现
    关于前端中遇到各种高度宽度的总结
    React+Redux项目实战总结
    Redux学习总结
    css学习笔记
    JS学习笔记
  • 原文地址:https://www.cnblogs.com/nebulyu/p/12866486.html
Copyright © 2020-2023  润新知