上一页 1 2 3 4 5 6 7 8 ··· 13 下一页
摘要: 参照大佬博客:https://www.cnblogs.com/yoke/p/6949838.html RMQ(Range Minimum/Maximum Query), 是一种问题,即 查询给定区间的最大值或最小值。 ST算法可在线处理RMQ问题,主要分为两步, 初始化 和 查询。 ST算法的思想是 阅读全文
posted @ 2019-06-04 17:05 Daybreaking 阅读(977) 评论(0) 推荐(0) 编辑
摘要: 搜索实现最短路 设置一个dis数组,dis[i]代表某点(以原点为例)到 i 点的最短距离。 更新原则: 遍历点u想连的点v,若 dis[u] + edge[u].w dis[x] + w) { dis[to] = dis[x] + w; in[to] = 1; //每当最短路发生变化时,重新将in 阅读全文
posted @ 2019-04-26 22:35 Daybreaking 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 无向图边双联通分量+缩点 先求桥,再遍历一遍图,把桥去掉 阅读全文
posted @ 2019-04-26 22:33 Daybreaking 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 有向图+强联通分量 阅读全文
posted @ 2019-04-26 22:31 Daybreaking 阅读(107) 评论(0) 推荐(0) 编辑
摘要: //无向图G为二分图的充分必要条件是:G至少有两个顶点,且当存在回路时,其所有回路的长度均为偶数。回路就是环路,也就是判断是否存在奇数环。 int check[109]; int dfs(int u, int flag) { int i; for(i = head[u]; i != 1; i = e 阅读全文
posted @ 2019-04-26 22:30 Daybreaking 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 存图方式之邻接表 头文件 代码实现 + 无权图 + 有权图 阅读全文
posted @ 2019-04-26 22:27 Daybreaking 阅读(134) 评论(0) 推荐(0) 编辑
摘要: E、剪枝搜索 特点: 一轮搜索完成后,清空标记数组的问题 在搜索的过程中,需要借助标记数组,来防止重复的访问。 之前采取的方法是,通过标记为1,表示该值被访问过。 但是这样做不适合多轮的搜索,因为每轮搜索结束后,都需要重新把标记数组清零。 解决:每轮搜索都设置一个唯一的值(不再局限于1和0) 标记数 阅读全文
posted @ 2019-04-26 22:25 Daybreaking 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 1 //无向图求割边 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include <cmath> 6 #include <algorithm> 7 #include <queue> 8 #include <stac 阅读全文
posted @ 2019-04-26 13:10 Daybreaking 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #include<algorithm> 5 #include<iostream> 6 using namespace std; 7 struct node{ 8 int a 阅读全文
posted @ 2019-04-26 13:00 Daybreaking 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #include<math.h> 5 #include<algorithm> 6 #include<queue> 7 #include<stack> 8 #include< 阅读全文
posted @ 2019-04-26 12:56 Daybreaking 阅读(145) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 13 下一页