【概述】

从一个点出发,经过一条简单路径回到起点,称为图的环,而图的最小环就是所有环中长度最小的。

所谓最小环问题,最小环就是指在一张图中找出一个环,使得这个环上的各条边的权值之和最小。

【求最小环】

Floyd 算法可以在求最短路的同时求出图的最小环。

记两点间的最短路为 dis[i][j],w[i][j] 为边 < i,j > 的权值,res 为图的最小环

一个环中最大的节点为 k,与它相连的节点为 i、j,这个环的最短长度为 w[i][k]+w[k][j]+(i 到 j 的路径中所有节点编号都小于 k 的最短路径长度)

根据 Floyed 原理,在最外层进行 k-1 次循环之后 dis[i][j] 代表了 i 到 j 的路径中,所有结点编号都小于 k 的最短路径,因此该算法一定能找到图中的最小环。

关于 Floyd 算法:点击这里

int res=INF;
for(int k=1;k<=n;k++){//第一重循环为i→j的中间点kfor(int i=1;i<=n;i++)//第二重循环为起点ifor(int j=1;j<=n;j++)//第三重循环为终点jres=min(res,dis[i][j]+w[j][k]+w[k][i]);//环的最短长度for(int i=1;i<=n;i++)//第二重循环为起点ifor(int j=1;j<=n;j++)//第三重循环为终点jdis[i][j]=min(dis[i][j],w[i][k]+w[k][j]);//最短路径
}

图论 —— 环与块 —— 最小环相关推荐

  1. 图论 —— 环与块 —— 连通块的计数

    [概述] 对于给出 n 个点 m 条边的图来说,对任意两点,从顶点 Vi 到顶点 Vj 有路径,则称 Vi 和 Vj 是连通的,两者可视为一个连通块,因此,连通块的计数本质就是求其连通分量,可采用 d ...

  2. 图论 —— 环与块 —— 负权环

    [概述] 从一个点出发,经过一条简单路径回到起点,称为图的环,而图的负权环就是环中所有的边的权值均为负值. 所谓负权环问题,就是判断图中是否存在一个环,里面包含的边的边权总和<0 [Bellma ...

  3. 图论 —— 环与块 —— DAG 图判定

    [概述] 有向无环图(Directed Acyclic Graph),即 DAG 图,是指任意一条边有方向且不存在环路的图. 判断 DAG 图的方法有:拓扑排序 O(E).Bellman-Ford 算 ...

  4. [拓扑排序/强联通分量] [NOIP201402] 信息传递

    信息传递 题目描述 有n个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学. 游戏开始时,每人都只知道自己的生日 ...

  5. P1197 [JSOI2008]星球大战 题解

    题目:P1197 [JSOI2008]星球大战 并查集 - 图论 - 连通块 题目大意 给出一个 n n n 个点, m m m 条边的无向图,并告诉你 k k k 个攻击目标的编号 敌人依次攻击这 ...

  6. 对于2020五岳中旬的研究生复试准备

    首先,在五月之前,完成对组成.数据结构.计网.os的最后复习. 还有对 java常见面试题,数据库常见面试题. 一到五月份,差不多就是最后冲刺了,前五天,复习算法,加做点算法题,尤其图论那块还有本子上 ...

  7. 【图论专题】图的存储与遍历(最小环、所有环的大小)

    整理的算法模板合集: ACM模板 目录 Part 8.1 图的存储与遍历 P2661 信息传递(最小环) P2921 Trick or Treat on the Farm(求所有环的大小) 题单链接: ...

  8. 图论:并查集求最小环

    图论:并查集求最小环 概念: 图.路.环: 一个有向图由G=(N,A)表示,其中N表示节点集,A表示边集边(i,j)为一有序对,i为出发节点,j为终止节点.在无向图中(i,j)与(j,i)一致. 路是 ...

  9. 图论 + 数论 ---- CF1325E E. Ehab‘s REAL Number Theory Problem (约数个数 + 枚举 + bfs找最小环)[从图结构优化搜索]

    题目链接 题目大意: 给你nnn个数,每个数保证约数个数不超过777个.问你从中选出若 干个数的乘积是完全平方数,最少要选择多少个数?,不存在输出-1. 题目思路: 1.每个数约数不超过7个→\rig ...

最新文章

  1. 模型部署神器:高中生也能读懂的Docker入门教程
  2. 阿里程序员跳槽到小外企,再无996!业余时间开发APP,每月广告收入8万多!堪比阿里P8!...
  3. LightGBMError: Length of label is not same with #data
  4. 使用 Tye 辅助开发 k8s 应用竟如此简单(四)
  5. JQuery操作类数组的工具方法
  6. 计算机加经济学加自动化,MIT经济学家戳破机器人真相:除了能取代你,价值微乎其微...
  7. java get请求 数组,浅谈vue中get请求解决传输数据是数组格式的问题
  8. IOS UI 第一篇:基本UI
  9. Springmvc返回中文字符乱码问题
  10. 计算机开关机命令,电脑自动关机命令
  11. 如何关闭windows安全中心(四种方法)
  12. 有什么拍照识别植物的软件?建议收藏这几个软件
  13. AttributeError: module 'tensorflow' has no attribute 'placeholder'
  14. C#怎么选中datagridview中的一行,并获得它的数据?
  15. Android——单元测试
  16. Linux上杀毒软件有哪些?
  17. 惊闻|万盈:玩一元斗地主 引争执出人命 派出所介入调查
  18. win本地安装xxl-job服务
  19. 家庭财务管理,从记账开始
  20. 带你一文通透CAN总线相关知识

热门文章

  1. SQL 16进制数转化10进制
  2. java 斐波那契编程_Java实现Fibonacci(斐波那契)取余的示例代码
  3. 双非院校非科班的学弟,刚刚拿到了腾讯、网易、美团等大厂Offer
  4. 前端基础:初步认识Chrome调试面板,学会简单的代码调试,必会!
  5. 使用Spring Boot来加速Java web项目的开发
  6. 财经数据提取器上线拉
  7. 消息中间件RocketMQ源码解析-- --调试环境搭建
  8. 前端特效demo | 值得收藏的6个 HTML5 Canvas 实用案例
  9. 转:LruCache算法
  10. 刷leetcode第五题-最长回文字符串