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. vue-shop项目第二天(用于个人学习的记录)

    vue-shop项目第二天 1.实现路由导航守卫功能. router.beforeEach((to, from, next) => { // to 将要访问的路径 from 代表从哪个路径跳转而 ...

  2. k8s集群搭建笔记(细节有解释哦)

    本文中所有带引号的命令,请手动输入引号,不知道为什么博客里输入引号,总是自动转换成了中文 基本组成 pod:k8s 最小单位,类似docker的容器(也许) 资源清单:资源.资源清单语法.pod生命周 ...

  3. 解决:docker-compose端口绑定

    docker-compose 进程绑定 Bind for 0.0.0.0:3825 failed: port is already allocated 查看进程发现有进程在关闭后继续进行 docker ...

  4. go 基本包

    像 fmt.os 等这样具有常用功能的内置包在 Go 语言中有 150 个以上,它们被称为标准库,大部分(一些底层的除外)内置于 Go 本身 unsafe: 包含了一些打破 Go 语言“类型安全”的命 ...

  5. 自动生成四则运算题目(C语言)

    Github项目地址:https://github.com/huihuigo/expgenerator 合作者:马文辉(3118005015).卢力衔(3118005013) 项目简介 1题目:实现一 ...

  6. Kitty-Cloud服务搭建过程剖析

    项目地址 https://github.com/yinjihuan/kitty-cloud 服务搭建 大家目前看到的都是我已经搭建好了的服务,如果让你从零开始自己搭建一个微服务的项目,要怎么做? 我们 ...

  7. Spark 1.5 to 2.1.X

    api差异参考官网地址:https://spark.apache.org/docs/2.1.1/sql-programming-guide.html#upgrading-from-spark-sql- ...

  8. JUC强大的辅助类讲解--->>>CountDownLatchDemo (减少计数)

    原理: CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,这些线程会阻塞.其它线程调用countDown方法会将计数器减1(调用countDown方法的线程不会阻塞), ...

  9. 计算机视觉中的对象检测,Python用几段代码就能实现

    目前计算机视觉(CV)与自然语言处理(NLP)及语音识别并列为人工智能三大热点方向,而计算机视觉中的对象检测(objectdetection)应用非常广泛,比如自动驾驶.视频监控.工业质检.医疗诊断等 ...

  10. ASE team work proposal

    Hi,我们是Azure Wrapper,欢迎来到我们的blog~我们将在这里记录下ASE课程的滴滴点点,美妙的旅程就要开始啦! 以下是每位队员提交的关于ASE 团队项目的提议: 朱玉影: 随着信息时代 ...