11 2024 档案
摘要:title: 【笔记/模板】树链剖分 tags: 笔记/模板 abbrlink: 48225 date: 2024-07-29 17:17:12 树链剖分 树链剖分的基本思想 通过将树分割成链的形式,从而把树形变为线性结构,减少处理难度。 树链剖分(树剖/链剖)有多种形式,如 重链剖分,长链剖分 和
阅读全文
摘要:title: 【笔记/模板】树状数组 tags: 笔记/模板 abbrlink: 12939 date: 2023-12-16 21:54:23 原理解释 树状数组是一种通过前缀和和差分的思想所进行的维护数组,从而以 \(O(\log n)\) 的时间复杂度进行修改和查询。 一共有四种修改和查询的方
阅读全文
摘要:title: 【笔记/模板】拓扑排序 tags: 笔记/模板 abbrlink: 30257 date: 2023-12-16 21:54:56 www.luogu.com.cn 拓扑排序 定义与实现思路 拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed
阅读全文
摘要:title: 【笔记/模板】无向图的双连通分量 tags: 笔记/模板 abbrlink: 4163275132 date: 2024-08-04 10:30:57 边双连通分量 定义 在一张联通的无向图中,对于任意两点 \(u\) 和 \(v\),删去两点之间任意一条边,都无法使其不连通(即连通
阅读全文
摘要:title: 【笔记/模板】割点和桥 tags: 笔记/模板 abbrlink: 45606 date: 2024-08-01 20:34:40 割点 对于一张无向图 \(G=(V,E)\),使得 H 是 G 的连通子图,且不存在 \(F\) 满足 \(H \subsetneq F \in G\)
阅读全文
摘要:title: 【笔记/模板】排序算法 tags: 笔记/模板 abbrlink: 52783 date: 2023-12-16 21:50:46 【模板】快速排序 - 洛谷 1. 冒泡排序 排序原理: 每次将未确定部分的相邻两个值对比,设为\(a_{i},a_{i+1}\),如果\(a_{i}>a_
阅读全文
摘要:title: 【笔记/模板】单调栈 单调队列 tags: 笔记/模板 abbrlink: 33745 date: 2023-12-16 21:48:44 单调栈 定义 单调栈即满足单调性的栈结构。通过只在一端进出,从而维护一个数在前 / 后的第一个大于或小于它的数。 操作 / 方式 首先按照特定的顺
阅读全文
摘要:title: 【笔记/模板】二叉搜索树 平衡树 tags: 笔记/模板 abbrlink: 13808 date: 2023-12-19 21:44:39 二叉搜索树 Definition 二叉搜索树(\(\text{Binary Search Tree}\))是一种形状如二叉树的数据结构,用于快速
阅读全文
摘要:title: 【模板】线段树 tags: 模板 abbrlink: 1611825188 date: 2024-09-01 15:11:19 线段树 线段树是 OI 竞赛中最强大的数据结构之一,可以用来维护和、积以及最值等具有合并性质的信息。 一般线段树 P3372 【模板】线段树 1 - 洛谷 |
阅读全文
摘要:title: 【笔记/模板】网络流初步 tags: 笔记/模板 abbrlink: 3667112322 date: 2024-08-11 16:31:53 网络流简介 基本定义 网络(Network)在图论中指一个有向图 \(G=(V,E)\),图上的每一条边都有一个值,叫做容量(Capacity
阅读全文
摘要:title: 【笔记/模板】差分约束系统与 2-SAT tags: 笔记/模板 abbrlink: 861198166 date: 2024-09-11 20:46:16 差分约束系统与 2-SAT 将两者放在一起的原因是两者本质十分相像: 差分约束用于解多个二元不等式,其中要求变量为实数,不等式表
阅读全文
摘要:title: 【笔记/模板】Tarjan 算法与有向图的强连通分量 tags: 笔记/模板 abbrlink: 14585 date: 2024-04-04 21:59:07 有向图的强连通分量 定义 对于一张有向图 \(G = (V, E)\),对于两点 \(u,v \in V\),都存在一条路径
阅读全文
摘要:title: 【笔记/模板】ST表/RMQ tags: 笔记/模板 abbrlink: 54768 date: 2023-12-16 21:53:27 RMQ(区间最值问题) Range Maxinum/Mininum Query(又称ST表)可以通过dp+倍增预处理的方式从而达到 \(O(n \l
阅读全文
摘要:title: 【笔记/模板】Manacher 算法 tags: 笔记/模板 abbrlink: 3145198238 date: 2024-09-04 10:43:24 Manacher 算法 例题:P3805 【模板】manacher - 洛谷 | 计算机科学教育新生态 (luogu.com.cn
阅读全文
摘要:title: 【笔记/模板】最近公共祖先(LCA) tags: 笔记/模板 abbrlink: 59819 date: 2024-03-19 20:07:14 最近公共祖先(LCA) 定义 最近公共祖先(Lowest Common Ancestor)简称 LCA。对于一个树上的两个节点的最近公共祖先
阅读全文
摘要:title: 【笔记/模板】最小生成树 tags: 笔记/模板 abbrlink: 18648 date: 2023-12-16 21:56:19 www.luogu.com.cn 概念/定义 一个连通图的生成树是一个极小的连通子图,它包含图中全部的 \(n\) 个顶点,但只有构成一棵树的 \(n-
阅读全文
摘要:title: 【模板】Floyd算法以及扩展应用 tags: 笔记/模板 abbrlink: 12641 date: 2023-12-16 21:48:06 Floyd 算法 原理 Floyd 算法用来求出任意两个节点之间的最短路。 优点:代码少,思维简单,适用于除了负环以外的任何图。 缺点:时间复
阅读全文
摘要:title: 【模板】分块 tags: 模板 abbrlink: 2156760144 date: 2024-10-30 20:43:03 今天写分块的时候模板忘光了,故写以记之。 Code Init void init() { sz = sqrt(n), block = n / sz + (n %
阅读全文
摘要:title: 【模板】矩阵运算 tags: 模板 abbrlink: 864613829 date: 2024-09-26 16:30:30 不进行没必要的解释,主要记录模板。 struct Matrix { int n, m, rec[N][N]; // 矩阵的长,宽和二维数组 Matrix(in
阅读全文
摘要:title: 【模板】缺省源 tags: 模板 abbrlink: 2447416387 date: 2024-10-25 20:09:31 Debug inline void debug() { cerr << '\n'; } template<typename Type, typename...
阅读全文
摘要:title: 【模板】手写基本数据结构 tags: 笔记/模板 abbrlink: 50250 date: 2024-02-07 21:58:02 栈 STL模板 STL 中的 stack 容器提供了一众成员函数以供调用,常见的包括但不限于如下: 创建一个栈: stack<int> stk; 修改元
阅读全文
摘要:title: 【模板】素数筛 tags: 笔记/模板 abbrlink: 61050 date: 2023-12-15 18:25:15 模板原题 1. 寻找因数筛法 时间复杂度:\(O(n\sqrt n)\) 核心模板代码如下: bool isprime(int n) { if (n < 2) r
阅读全文
摘要:title: 【模板】图的存储与遍历 tags: 模板 abbrlink: 18257 date: 2024-03-31 12:23:44 图的存储与遍历 直接存边法 做法 建立三个数组 u[N],v[N],w[N],对于每一次读入的起点,出点和权值存储即可。 初始化 struct Edge { i
阅读全文
摘要:title: 【笔记】动态规划 tags: 笔记/模板 abbrlink: 16886 date: 2023-12-16 21:47:15 前言 动态规划(Dynamic Programming)是c++算法学习当中十分重要而变化灵活的一部分分支,这种算法是通过递推的方式从而达到求出最优解的目的。
阅读全文
摘要:title: 【笔记/模板】A* 算法 && K 短路 tags: 笔记/模板 abbrlink: 34347 date: 2024-01-09 20:04:56 A* 算法 定义 A* 搜索算法(\(\text{A*search algorithm}\))是一种在图形平面上,对于有多个节点的路径求
阅读全文
摘要:title: 【笔记/模板】Bellman-Ford 与 SPFA tags: 笔记/模板 abbrlink: 60475 date: 2023-12-15 18:52:28 Bellman-Ford求最短路和负环 时间复杂度:\(O(nm)\) 【模板/笔记】Johnson算法 bool Bell
阅读全文
摘要:title: 【笔记/模板】Dijkstra算法 tags: 笔记/模板 abbrlink: 9861 date: 2023-12-16 21:51:25 原理解释 Dijkstra算法是通过贪心+BFS+动态规划实现的,可以用来计算单个点(源点)到其余任一点的距离大小。 Dijkstra算法的实现
阅读全文
摘要:title: 【笔记/模板】KMP 与 Z 函数 tags: 笔记/模板 abbrlink: 1594942982 date: 2024-09-05 08:50:29 前缀函数 前缀函数通常称为 border,一个字符串 \(S\) 的 border 定义为它的一个前缀子串 \(t(t \ne S)
阅读全文
摘要:title: 【笔记/模板】Johnson全源最短路 tags: 笔记/模板 abbrlink: 62513 date: 2023-12-16 21:52:16 模板题目 www.luogu.com.cn // Problem: P5905 【模板】全源最短路(Johnson) // Contest
阅读全文