图论最短路:dijkstra
摘要:单源最短路dijkstra O(nlog(n)) 迪杰斯特拉算法:基于贪心思想的一种算法 算法思想:定义两个集合S1,S2; S1={已经遍历过的元素},S2={未遍历过的集合}; 每次从未走过的集合S2中选取最近的元素k,以k点为中转,进行松弛操作,以确定是否有更优的路径;再将k放入S1中 若已知
阅读全文
图论最短路floyd
摘要:图论最短路:Floyd 多源最短路的处理方法,主要思想为dp; 时间复杂度O(n^3); a[i][j]:邻接矩阵储存图; dp[i][j]:从i点到j点的最短距离; 转移方程: 选取k点,dp[i][j]=min(dp[i][k]+dp[k][j],dp[i][j]); 直接贴核心代码: 1 fo
阅读全文
RMQ:ST表
摘要:模板:ST表 解决rmq问题,区间最值的离线做法,写法比线段树和树状数组更加简单 构造O(nlog(n)); 查询O(1); 只要运用倍增思想 构造ST表O(nlog(n)): 1 void ST_init(int n){ 2 for (int i=1;i<=n;i++)dp[i][0]=a[i];
阅读全文