随笔分类 -  Algorithm

摘要:一、模运算的定义 对于 \(\forall~a\in \mathbb{R},~m \in (0, +\infty)\),求 \(a\) 除以 \(m\) 的余数的运算,就是取模运算,记作 \(a~mod~m\)。 规定 \(0 \leq a~mod~m \leq m - 1\)。若 \(a\) 为负 阅读全文
posted @ 2024-02-12 14:11 ltign 阅读(145) 评论(0) 推荐(0)
摘要:一、素性判断 素数,又叫质数,是指一个整数,除了1和本身之外,还有其它的因数(注意:1不是素数)。因此,对于一个整数 \(n\),我们只要检测 \([2, n - 1]\) 能否整除 \(n\)。 整除的定义:\(\exist\) \(a, b, k \in \mathbb{Z}\),使得 \(a 阅读全文
posted @ 2024-02-12 13:03 ltign 阅读(111) 评论(0) 推荐(0)
摘要:一、问题描述 P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题 二、问题简析 2.1 最大公约数 求两个正整数的最大公约数gcd (greatest common divisor),最常用的方法是辗转相除法。 // 求a和b的最大公约数 int gcd(int a, int b) 阅读全文
posted @ 2024-02-09 16:36 ltign 阅读(57) 评论(0) 推荐(0)
摘要:一、问题描述 B3611 【模板】传递闭包 二、问题简析 首先,要弄清楚传递闭包的定义,由题意: 一张图的邻接矩阵定义为一个 \(n\times n\) 的矩阵 \(A=(a_{ij})_{n\times n}\),其中 \[ a_{ij}=\left\{ \begin{aligned} 1,i\ 阅读全文
posted @ 2024-02-08 21:01 ltign 阅读(143) 评论(0) 推荐(0)
摘要:一、题目描述 P5960 【模板】差分约束 二、题目简析 差分约束问题的典型特征是一组不等式。只要画出约束图,这类问题都可以准换为最短路径问题。注意:约束图是有向图。 2.1 约束图的顶点 约束图的顶点(\(V\)) = 一个未知数对应一个顶点(\(v_1, v_2, ...,v_n\)) + 一个 阅读全文
posted @ 2024-02-08 16:23 ltign 阅读(53) 评论(0) 推荐(0)
摘要:一、问题描述 P2865 [USACO06NOV] Roadblocks G 二、问题简析 如果求最短路径,我们很自然会想到 \(Dijkstra\)。但是,这道题要求的是次短路径。 记到 \(u\) 的最短路径为 \(d_1[u]\),到 \(u\) 的次短路径为 \(d_2[u]\)。则 \(d 阅读全文
posted @ 2024-02-06 17:02 ltign 阅读(46) 评论(0) 推荐(0)
摘要:问题描述 有一张 \(n\) 个顶点、\(m\) 条边的无向图,且是连通图,求最小生成树。 算法简析 \(Kruskal\) 是一种求最小生成树的算法。 设该图为 \(G = (V, E)\)。最小生成树即所求为 \(G_T = (V_T, E_T)\),因为图是连通的,所以最小生成树会覆盖所有的顶 阅读全文
posted @ 2024-02-06 14:16 ltign 阅读(22) 评论(0) 推荐(0)
摘要:一、并查集的概念 并查集是一种管理元素分组情况的数据结构,主要实现以下两个功能: 查询元素 \(a\) 和 \(b\) 是否在同一集合 合并元素 \(a\) 和 \(b\) 所在的集合 注:并查集只能进行合并操作,不能进行分割操作。 二、并查集的实现 一般,我们采用数组 par[] 和 height 阅读全文
posted @ 2024-02-06 14:16 ltign 阅读(31) 评论(0) 推荐(0)
摘要:问题描述 有一张 \(n\) 个顶点、\(m\) 条边的无向图,且是连通图,求最小生成树。 Prim算法简析 \(Prim\) 算法是一种求最小生成树的算法。 设该图为 \(G = (V, E)\)。最小生成树即所求为 \(G_T = (V_T, E_T)\),因为图是连通的,所以最小生成树会覆盖所 阅读全文
posted @ 2024-02-05 23:12 ltign 阅读(158) 评论(0) 推荐(0)
摘要:题目描述 P4568 [JLOI2011] 飞行路线 题目分析 显然,这是一道最短路径的题目,我们可以选择 \(Dijkstra\) 算法求解。但是,题目中有 他们可以免费在最多 k 种航线上搭乘飞机。也就是说,我们可以令最多 \(k\) 条边的权值为零。这时,我们就要采用分层图。 分层图 分层图并 阅读全文
posted @ 2024-02-05 12:35 ltign 阅读(87) 评论(0) 推荐(0)
摘要:一、Bellman-Ford算法 Q:有一张有 \(n\) 个点、\(m\) 条边的有向图,可能存在重边、负边和自环,但不存在负环,求起点 \(s\) 到每个点的最短路径。 1.1 算法简析 记图为 \(G\);\(G[u]\) 表示以 \(u\) 为起点的所有边的集合;\(e(u, v)\) 表示 阅读全文
posted @ 2024-02-05 11:32 ltign 阅读(72) 评论(0) 推荐(0)