随笔 - 73  文章 - 0 评论 - 0 阅读 - 6643
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  图论

树链剖分
摘要:树链剖分 本质上是将一个树变成多条链,转化成线段树,对树的操作转化成对线段树操作. 树链剖分详解(洛谷模板 P3384) - ChinHhh - 博客园 (cnblogs.com) 模板题: P3384 【模板】轻重链剖分/树链剖分 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 阅读全文
posted @ 2022-08-23 10:12 naiji 阅读(16) 评论(0) 推荐(0) 编辑
图中走t步的路径数(矩阵加速)
摘要:求图中走t步的路径数(矩阵加速) 当图中任意两个点的距离为1时,求点XT步到达点Y的路径数。 可以构建矩阵A,AT即为走T步的情况。 当图中两点的距离不为1时, SCOI2009] 迷路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 两点的距离较小时,可以 阅读全文
posted @ 2022-05-11 15:50 naiji 阅读(76) 评论(0) 推荐(0) 编辑
最短路径条数
摘要:求最短路径的条数 只局限于边的长度为1这种情况 P1144 最短路计数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 初始化ans[s]=1; 求最短路时,更新ans数组 void dij() { for (int i = 1; i <= n; i++) dis[i] = M; 阅读全文
posted @ 2022-05-11 15:46 naiji 阅读(50) 评论(0) 推荐(0) 编辑
链式前向星
摘要:链式前向星 用数组模拟邻接表vector,本质上和vector是一个东西,只不过是使用数组表示的。 vector使用的是后插入法, 数组模拟时,使用的是前插法。 #include<iostream> #include<cmath> #include<string> #include<deque> # 阅读全文
posted @ 2022-01-18 19:45 naiji 阅读(22) 评论(0) 推荐(0) 编辑
图论例题
摘要:图论例题 dfs奇偶二次遍历+博弈论。求源点到其他点是否有奇数路径和偶数路径。(dfs) Problem - B - Codeforces 和上面的很像,求源点到其他各点的最短的奇数路径和偶数路径。(bfs) P5663 [CSP-J2019] 加工零件 有向无环图的拓扑排序及拓扑排序的性质。 Pr 阅读全文
posted @ 2021-12-15 15:42 naiji 阅读(31) 评论(0) 推荐(0) 编辑
分层图
摘要:分层图 基本概念: 求最短路径问题时,从点1到点n的最短路径。有种魔法,使一条路的长度变成1/2. 求使用魔法次数不超过k次,从点1到点n的最短路径。 JLOI2011]飞行路线 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) BJWC2012]冻结 - 洛谷 | 计算机科学教 阅读全文
posted @ 2021-11-30 22:18 naiji 阅读(76) 评论(0) 推荐(0) 编辑
全源最短路径
摘要:全源最短路径 P5905 【模板】Johnson 全源最短路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) Johnson 和 Floyd 一样,是一种能求出无负环图上任意两点间最短路径的算法。 1,算法概述 任意两点间的最短路可以通过枚举起点,跑 n 次 Bellman-For 阅读全文
posted @ 2021-11-27 19:33 naiji 阅读(95) 评论(0) 推荐(0) 编辑
强连通分量+缩点
摘要:强连通分量+缩点 使用tarjan算法求强连通分量,再把强连通分量缩成一个点。 所需的数据结构 int dfn[10004];//遍历到i节点时的时间戳 int low[10004];//i节点不通过父节点可以回溯到的最小时间戳 int book[10004];//表示i是否入栈 stack<int 阅读全文
posted @ 2021-11-13 22:29 naiji 阅读(46) 评论(0) 推荐(0) 编辑
欧拉回路
摘要:欧拉回路 摘自:欧拉回路基本概念+判断+求解 - 王陸 - 博客园 (cnblogs.com) 1,定义 如果图G(有向图或者无向图)中所有边一次仅且一次行遍所有顶点的通路称作欧拉通路。 如果图G中所有边一次仅且一次行遍所有顶点的回路称作欧拉回路。 具有欧拉回路的图称为欧拉图(简称E图)。具有欧拉通 阅读全文
posted @ 2021-11-11 14:10 naiji 阅读(374) 评论(0) 推荐(0) 编辑
树的直径
摘要:树的直径 定义 树上所有点的最短距离的最大值。 或者,树上最长的一条路径 算法思想 ①从任意一点P出发,通过DFS寻找离它最远的点Q。 ②再次从点Q出发,通过DFS寻找离它最远的W。 ③直径即为WQ。 【朝夕的ACM笔记】树上问题-树的直径 - 知乎 (zhihu.com) 阅读全文
posted @ 2021-11-11 14:09 naiji 阅读(43) 评论(0) 推荐(0) 编辑
二分图
摘要:二分图的最大匹配 摘自二分图的最大匹配 - 爱国呐 - 博客园 (cnblogs.com) 一,概念 如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。准确地说:把一个图的顶点划分为两个不相交集 U 和V ,使得每一条边都分别连接U、V中的顶点。如果存在这样的划分,则此图为 阅读全文
posted @ 2021-11-11 14:09 naiji 阅读(145) 评论(0) 推荐(0) 编辑
树的重心
摘要:树的重心 定义 树的重心。找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡。 性质 树中所有点到某个点的距离和中,到重心的距离和是最小的,如果有两个重心,他们的距离和一样。 把两棵树通过一条边相连,新的树的重心在原来两棵树重心的连线上。 阅读全文
posted @ 2021-11-11 14:08 naiji 阅读(34) 评论(0) 推荐(0) 编辑
trajan
摘要:trajan 求割点,桥,最近公共祖先(LCA)tarjan算法和倍增, 求割点: P3388 【模板】割点(割顶) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 求桥: P1656 炸铁路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 求桥和割点是一类问题: 阅读全文
posted @ 2021-11-11 11:02 naiji 阅读(102) 评论(0) 推荐(0) 编辑
最短路径
摘要:最短路径 单源最短路径: n个点到一个点的最短距离:建立反向图, 方法一, ​ Dijkstra算法:利用贪心思想,(不等处理负权的情况) ​ [dijkstra普通算法](记录详情 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)) ​ [dijkstra堆优化算法](记录详情 - 阅读全文
posted @ 2021-11-11 10:53 naiji 阅读(111) 评论(0) 推荐(0) 编辑
最小生成树
摘要:最小生成树 两种方法: 1,Prim(加点法) 从随便一个点i开始,dis[i]=0,dis[其他点]=无穷, 进行n次循环, 每次找到距离集合最短距离的点k, 更新dis数组,dis数组表示点j到集合的最小距离 若dis[j]>点k和点j的距离,则更新 最后将dis数组求和即为ans 记录详情 - 阅读全文
posted @ 2021-11-10 23:03 naiji 阅读(28) 评论(0) 推荐(0) 编辑
拓扑排序
摘要:拓扑排序 是对图(有向无环图)中的顶点按照某种先后顺序进行遍历。 拓扑排序的实现: 用一个数组ind[1000],来表示指向第i个节点的边数, 从ind[i]为0的带你开始遍历,删除该节点连接其他节点的边,且其他节点的ind值-1, 该节点结束后,找到下一个ind为0的节点重复上述过程。 整个遍历过 阅读全文
posted @ 2021-11-10 23:02 naiji 阅读(36) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示