随笔分类 - 模块 / 图论
摘要:基础概念 欧拉路径:在一个图中刚好走过所有边一次的一个路径。(一笔画) 欧拉回路:起终点一致的欧拉路径。 欧拉图:具有欧拉回路的图。(能一笔画,起终点相同) 半欧拉图:具有欧拉路径的图。(能一笔画,起终点不同) 小学奥数 如果一张无向图能一笔画,那么它必然有零个或两个奇点。 他每多两个奇点就需要多加
阅读全文
摘要:具体细节可见 this \(2013\) 年的远古博客,写的还是很好的 只是由于时间原因,其中的一些算法显得有些过时了。。。 本文主要总结步骤和实现 首先,原文中的步骤大体为 建图 缩点 拓扑+染色 这种思路毫无疑问是没有问题的 我用这种思路写着了这道水题 P5782 #include<bits/s
阅读全文
摘要:前置知识:\(\text{Tarjan}\) 求 \(\text{SCC}\) 概念 强连通分量,简称 \(\text{SCC}\),是指一个有向图中的一些点组成的子图任意两点之间可达 同时这个子图再加上任意一个点都不满足该性质(即所谓“极大的”) 求法 基于 \(Tarjan\) 算法 需要用两个
阅读全文
摘要:著名毒瘤算法,以码量惊人而著称 思路还可以 觉得比 \(Tarjan\) 简单一些 前置知识:线段树基础 \(Now\ Let's\ Start\) Part 1 A Tree 如图是一颗五颜六色的树 还给了我们这样一个问题 P3384 【模板】重链剖分/树链剖分 要求实现以下四种操作: 一、将树从
阅读全文
摘要:# Part 1 RMQ RMQ,即区间信息维护问题 如最大值,最小值,GCD 等 RMQ 算法实现很多 具体有线段树,树状数组和 ST 表 但综合时间复杂度最好的是 ST 表 查询 O(1),预处理 O(n log n) ST 表的基础思想是二进制倍增 记录一个 ST[i][j] 数组记录一下从
阅读全文
摘要:# Part 01 Floyd 众所周知的水 可以求全源最短路 板子简单好写 Code for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++) Distance[i][j]=min(Distance[i][j],Distance
阅读全文
摘要:Basic 从一个图里抽取一些边使其构成一棵树,且总边权最小 Function 01 [Kruskal] 贪心算法 选取当前最小边权的边 用并查集判断该边所连的点的连通性 Question 01 [ACP2023 最短网络] 模板题 Code #include<bits/stdc++.h> usin
阅读全文

浙公网安备 33010602011771号