Key word:

    ①最短路

    ②传递闭包:大小关系 数值关系 先后关系 联通关系

    ③floyd变形

    ④实现方式:插点发法

    ⑤思想:动态规划

1.最短路:

最短路是floyd的一个基本应用,但是对于不是裸题的最短路该怎么使用是我们要关注的,其次什么时候使用也是要注意的,至于什么时候使用Floyd,首先先看数据量,三重循环始终是Floyd不可避免的,所以200的点是极限,小于两百的时候,就要考虑,这个最短路如果考察Floyd那么他一定有坑,或者改变问的方式及在floyd过程中的处理操作,这里放到3,简单的有求一条最短路,最短路经过边需要花费,经过节点也需要花费,这时候就需要稍稍处理,复杂的也会有很多提问方式,要敏感,因为floyd的很多特性是其他最短路所没有的,多源最短路,关系的传递性这里放到2,例如给出最短路,在原图中删去一些边是使得给出最短路仍是最短路,因为Floyd动态规划的特性,他具有能够遍历所有的状态的特点,所有他能够找到任何边判断能否被松弛,这里是被替换。所以掌握好Floyd是做题的关键。

2.传递闭包:

这里是对关系的传递,这点用起来很舒服,比如汇率问题,求一种货币能经过若干次兑换变成更多的自己,这里的话我们考虑,dis[i][j]为i与j的汇率,那么松弛时则有dis[i][k]* dis[k][j]与dis[i][j]比较大小,这个时候Floyd传递的不再是数值关系,而是大小关系,这也算是最短路的变形,最大乘积路(?)。

3.Floyd 变形:

刚才也举了很多例子了,他们都是属于Floyd变形,至于为什么拿出来说是因为Floyd不可能考裸体(实在想考,那也没办法),考的都是变形题目,那么怎么变形很成问题,所以怎么变形,怎么去找题意是解决问题的关键,出题人的想法千奇百怪,你真的想不到他会怎么考你,所以做到所有的floyd是不现实的,即使floyd不难,但是我们还是通过题目找到了规律,所有的题目的考察都是根据2,4,5所改造的,那么理解4,5是解题关键。

4、5.这里一起说一下,动态规划思想在这里是最小化的枚举各种松弛情况,可以理解为区间DP相似的思想,也就是说关于I J之间的关系,可以通过floyd解决,在就是插点法,在两点外插入点以获得松弛操作,比如在一个图中,给你几条边让你添加到图中使得起点终点距离最小,这就是插点,插点更新距离即可。

这是我的总结,有不太对的地方,希望可以指出,共同进步。

图论--Floyd总结的更多相关文章

  1. [图论]Floyd 算法小结

    Floyd 算法小结  By Wine93 2013.11 1. Floyd算法简介 Floyd算法利用动态规划思想可以求出任意2点间的最短路径,时间复杂度为O(n^3),对于稠密图, 效率要高于执行 ...

  2. 图论·Floyd算法·HDU2544&1874 (伪)2066

    在看到1874的题时,第一反应是用上一篇的并查集方法,后来查了一下是要用Floyd做,所以就去查Floyd算法的资料. 即插点法,是一种用于寻找给定的加权图中顶点间最短路径的算法. 核心代码:  ma ...

  3. [笔记-图论]Floyd

    用于可带负权的多源最短路 时间复杂度O(n^3) 注意一定不要给Floyd一个带负环的图,不然就没有什么意义了(最短路不存在) 模板 // Floyd // to get minumum distan ...

  4. 图论——Floyd算法拓展及其动规本质

    一.Floyd算法本质 首先,关于Floyd算法: Floyd-Warshall算法是一种在具有正或负边缘权重(但没有负周期)的加权图中找到最短路径的算法.算法的单个执行将找到所有顶点对之间的最短路径 ...

  5. 【uva 10048】Audiophobia(图论--Floyd算法)

    题意:有一个N点M边的无向带权图,边权表示路径上的噪声值.有Q个询问,输出 x,y 两点间的最大噪声值最小的路径的该值.(N≤100,M≤1000,Q≤10000) 解法:N值小,且问多对点之间的路径 ...

  6. 【uva 247】Calling Circles(图论--Floyd 传递闭包+并查集 连通分量)

    题意:有N个人互相打了M次电话,请找出所有电话圈(Eg.a→b,b→c,c→d,d→a 就算一个电话圈)并输出.(N≤25,L≤25,注意输出格式) 解法:由于N比较小所有n^2或n^3的复杂度都没有 ...

  7. mathematical method

    mathematical method 曲线拟合 指数 \(lnY = lna + bX\) 对数 \(Y = blnX + a\) 幂函数 \(lgY=lga+blgX\) 多元线性回归模型 回归分 ...

  8. NOIp知识集合 By cellur925

    基本算法 快速幂 ll ksm(ll a,ll b) { ll ans=; while(b) { ) ans=ans*a%p; b>>=; a=a*a%p; } return ans; } ...

  9. CSP-S需备模板大全

    CSP-S需备模板大全 谨以此文祝愿自己\(CSP-S\,\,2019\,\,\color{red}{RP++!!}\) 算法 二分 while(l<r) { int mid=(l+r+1)&g ...

随机推荐

  1. Java第三十一天,用Properties集合操作IO

    一.Properties 这个类是线程安全的:多个线程可以共享一个Properties对象,而不需要外部同步 1.常用方法 Object setProperty(String key, String ...

  2. webstorm 永久激活方法

    打开终端,执行: cd /etc/ sudo vim hosts 在最后一行加上: 0.0.0.0 account.jetbrains.com 打开webstorm,选择Activation Code ...

  3. Struts2-学习笔记系列(8)-异常处理

    后台抛出自定义异常 public String execute() throws Exception { if (getUser().equalsIgnoreCase("user" ...

  4. Java成长第五集--面向对象设计的五大原则

    S.O.L.I.D 是面向对象设计(OOD)和面向对象编程(OOP)中的几个重要编码原则(Programming Priciple)的首字母缩写.以下图说明: 下面就个人的理解来说说这五大原则的含义到 ...

  5. AJ整理问题之:copy,对象自定义copy 什么是property

    AJ分享,必须精品 copy copy的正目的 copy 目的:建立一个副本,彼此修改,各不干扰 Copy(不可变)和MutableCopy(可变)针对Foundation框架的数据类型. 对于自定义 ...

  6. stand up meeting 12-14

    今日更新: 项目的refactor部分均已经基本完成.答题界面和结果展示界面与code hunters team项目的merge部分也已经完成. 当然在这其中我们也遇到了一个小问题,在背单词模块中的词 ...

  7. H - Hamiltonian Hypercube Gym - 101170H

    规律题 首先我们要知道他的顺序是怎么来的,首先当n等于1时,是0,1 当n=2时,先按照与按顺序在他们前面分别加0,即00,01,在逆序加1,即11,10 构成的顺序为00,01,11,10:往后同理 ...

  8. 测评软件Lemon教程

    Lemon 信息技术测评软件 目录 下载与安装 编译器配置 添加样例和选手 完成测评 1.下载与安装 万恶的 伟大的百度网盘: 链接: https://pan.baidu.com/s/1BfMhs_z ...

  9. python 基础篇 自定义函数

    多态 我们可以看到,Python 不用考虑输入的数据类型,而是将其交给具体的代码去判断执行,同样的一个函数(比如这边的相加函数 my_sum()),可以同时应用在整型.列表.字符串等等的操作中. 在编 ...

  10. tensorflow版线性回归

    import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' import tensorflow as tf def linearregression(): X ...