会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
ymh126
博客园
首页
新随笔
联系
订阅
管理
2025年8月22日
二分图
摘要: 图的顶点集可以划分为两个互不相交的子集,使得图中的每条边的两个顶点分属不同集合。 等价于: 图中所有的环都必须有偶数个顶点,即不存在奇数长度的环。 1 dfs染色 color = [-1] * n def dfs(x, c): color[x] = c for y in g[x]: if color
阅读全文
posted @ 2025-08-22 19:47 shmily-ymh
阅读(17)
评论(0)
推荐(0)
2025年8月20日
网络流
摘要: 1. 网络流 有向图 G=(V,E),其与一般有向图的不同之处在于有容量(即边权)和源点、汇点。 1.1 Ford–Fulkerson G上一条从源点 s 到汇点 t 的路径称为增广路(Augmenting Path)。对于一条增广路,我们给每一条边(u, v) 都加上等量的流量,以令整个网络的流量
阅读全文
posted @ 2025-08-20 03:45 shmily-ymh
阅读(18)
评论(0)
推荐(0)
2025年8月15日
tarjan
摘要: 1. 强连通分量 强连通的定义是:有向图G中任意两个结点连通。强连通分量(Strongly Connected Components,SCC)是极大的强连通子图。 2. tarjan Tarjan 算法基于对图进行\(DFS\)。我们视每个连通分量为搜索树中的一棵子树,在搜索过程中,维护一个栈,每次
阅读全文
posted @ 2025-08-15 19:36 shmily-ymh
阅读(11)
评论(0)
推荐(0)
欧拉图
摘要: 1 欧拉图 欧拉路径(Eulerian path)是经过图中每条边恰好一次的路径, 欧拉回路(Eulerian circuit)是经过图中每条边恰好一次的回路。 如果一个图中存在欧拉回路,则这个图被称为欧拉图(Eulerian graph); 如果一个图中不存在欧拉回路但是存在欧拉路径,则这个图被称
阅读全文
posted @ 2025-08-15 15:24 shmily-ymh
阅读(146)
评论(0)
推荐(0)
2025年8月14日
最小生成树(Minimum Spanning Tree)
摘要: 1 Kruskal算法 最小生成树: 树中的每个点都与其他节点连通,树中的边权和最小,因此\(n\)个节点的最小生成树有\(n-1\)条边。 思想: 其基本思想是按照边的权值大小进行排序,然后按照顺序选择边构建最小生成树,同时确保不会形成环路。由于堆所有边权进行排序,因此该算法适用于稀疏图(边的数量
阅读全文
posted @ 2025-08-14 16:13 shmily-ymh
阅读(16)
评论(0)
推荐(0)
2025年8月5日
最短路算法
摘要: 1 \(BFS\) 广度优先搜索:每次都尝试访问同一层的节点。 如果同一层都访问完了,再访问下一层。这样做的结果是,BFS 算法找到的路径是从起点开始的最短合法路径。换言之,这条路径所包含的边数最小。因此对于边权都为\(1\)的图,\(BFS\)可以用来计算最短路。 1.1 \(BFS\)应用 在一
阅读全文
posted @ 2025-08-05 01:26 shmily-ymh
阅读(25)
评论(0)
推荐(0)
2025年8月1日
拓扑排序
摘要: OI-wiki 拓扑排序 Kahn(卡恩)算法 \(g[x]\)存点\(x\)的邻点,\(tp\)存拓扑序列,\(d[x]\)存点\(x\)的入度。算法的核心用队列维护一个入度为0的节点的集合。 初始化,队列\(q\)压入所有入度为\(0\)的点; 每次从\(q\)中取出一个点\(×\)放入数组\(
阅读全文
posted @ 2025-08-01 17:04 shmily-ymh
阅读(42)
评论(0)
推荐(0)
2025年7月10日
字符串哈希
摘要: 思想 Hash 的核心思想在于,将输入映射到一个值域较小、可以方便比较的范围。 性质 具体来说,哈希函数最重要的性质可以概括为下面两条: 在 Hash 函数值不一样的时候,两个字符串一定不一样; 在 Hash 函数值一样的时候,两个字符串不一定一样(但有大概率一样,且我们当然希望它们总是一样的)。
阅读全文
posted @ 2025-07-10 18:02 shmily-ymh
阅读(37)
评论(0)
推荐(0)
2024年9月5日
质数
摘要: 1.质数定义 我们这样定义质数:如果自然数$ p > 1 $的因数只有1和它本身,那么 $p $是质数。不是质数,就是合数。 质数有很多美妙的性质,比如: 如果一个数是质数,那么它是自然数。 如果一个数是质数,那么它不是合数。 如果一个数是质数,那么它大于等于2。 2.判断\(n\)是否为质数的方法
阅读全文
posted @ 2024-09-05 17:57 shmily-ymh
阅读(361)
评论(0)
推荐(0)
异或的一些性质
摘要: 1. 异或: 本质:在每个比特位上进行模\(2\)加法。相同为0,不同为1。 \[0 \oplus n = n \]\[n \oplus n = 0 \]2. 异或定理 \[4i \oplus (4i + 1) \oplus (4i + 2) \oplus (4i + 3) = 0 \]证明: 由于
阅读全文
posted @ 2024-09-05 17:27 shmily-ymh
阅读(310)
评论(0)
推荐(0)
公告