摘要: 简介: 给定一个图和一个源点,求源点到其余点的最短路径,图中有可能存在负权边。 算法步骤 1.初始化:将除源点外的所有顶点的最短距离估计值 dist[v] ← +∞, dist[s] ←0; 2.迭代求解:反复对边集E中的每条边进行松弛操作,使得顶点集V中的每个顶点v的最短距离估计值逐步逼近其最短距 阅读全文
posted @ 2018-06-06 23:56 GHzz 阅读(162) 评论(0) 推荐(0)
摘要: 简介: 算法的特点: 弗洛伊德算法是解决任意两点间的最短路径的一种算法,可以正确处理有向图或有向图或负权(但不可存在负权回路)的最短路径问题,同时也被用于计算有向图的传递闭 包。 算法思想: 通过Floyd计算图G=(V,E)中各个顶点的最短路径时,需要引入两个矩阵,矩阵S中的元素a[i][j]表示 阅读全文
posted @ 2018-06-06 23:39 GHzz 阅读(193) 评论(0) 推荐(0)
摘要: 概念: 容量网络:设G(V,E),是一个有向网络,在V中指定了一个顶点,称为源点(记为Vs),以及另一个顶点,称为汇点(记为Vt);对于每一条弧<u,v>属于E,对应有一个权值c(u,v)>0,称为弧的容量.通常吧这样的有向网络G称为容量网络. 弧的流量:通过容量网络G中每条弧<u,v>,上的实际流 阅读全文
posted @ 2018-06-06 21:05 GHzz 阅读(760) 评论(0) 推荐(0)
摘要: 前言: 之前做题二分都是手动二分造轮子,用起来总是差强人意,后来看到STL才发现前辈们早就把轮子造好了,不得不说比自己手动实现好多了。 常用操作 1.头文件 2.使用方法 1.binary_search:查找某个元素是否出现。a.函数模板:binary_search(arr[],arr[]+size 阅读全文
posted @ 2018-06-06 20:27 GHzz 阅读(216) 评论(0) 推荐(0)
摘要: 说明: 在网上查了各种资料,终于对KMP算法有了透彻的了解,都说KMP特简单,我咋没有察觉呢?难道是智商不在线?或许都是骗纸? 还是进入正题吧,整理整理大佬的blog KMP算法简介: KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现。KM 阅读全文
posted @ 2018-06-06 20:15 GHzz 阅读(276) 评论(0) 推荐(0)
摘要: 一:背景 给定一个字符串,求出其最长回文子串。例如: 以上问题的传统思路大概是,遍历每一个字符,以该字符为中心向两边查找。其时间复杂度为$O(n^2)$,效率很差。 1975年,一个叫Manacher的人发明了一个算法,Manacher算法(中文名:马拉车算法),该算法可以把时间复杂度提升到$O(n 阅读全文
posted @ 2018-06-06 19:37 GHzz 阅读(190) 评论(0) 推荐(0)