该文被密码保护。 阅读全文
posted @ 2025-09-09 23:36 nightmare_lhh 阅读(12) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-09-02 22:28 nightmare_lhh 阅读(6) 评论(0) 推荐(0)
摘要: 单调栈与单调队列 单调栈 单调栈,顾名思义就是一种具备单调性质(内部元素满足单调性)的栈结构 现在来看一道例题: 向右看齐 有 \(n\) 个人从左到右站成一排,每个人都有一个身高,现要求所有人向右看齐,问每个人可以看到的最远的人是哪一个?(一个人右边第一个身高大于等于他的人会挡住这个人的视线 )。 阅读全文
posted @ 2025-08-25 23:33 nightmare_lhh 阅读(6) 评论(0) 推荐(0)
摘要: 树链剖分 概念 树链剖分(重链剖分)是一个用来解决树上多点修改与查询(树上区间修改与查询)的在线算法。 提到区间修改,线段树无疑是一个很优秀的方案,但线段树只支持维护一串连续的序列。而树剖就是一个将树拍平成一个序列进行处理的算法。 算法思想 先来用一个很简单的拍平方法:用 DFS序 对书中每一个节点 阅读全文
posted @ 2025-06-21 13:35 nightmare_lhh 阅读(25) 评论(0) 推荐(0)
摘要: 容斥原理 容斥原理 概念 这是一道小学数学题: 在一个 \(40\) 人的班中,所有人都有擅长的学科,\(15\) 个人擅长英语,\(20\) 个人擅长数学,\(10\) 个人擅长语文,问有几个人三科都擅长 可以画出韦恩图: 此时,\(A\) 代表语文,\(B\) 代表数学,\(C\) 代表英语 则题目变为已 阅读全文
posted @ 2025-05-31 13:47 nightmare_lhh 阅读(19) 评论(0) 推荐(0)
摘要: 扩展欧几里得 欧几里得定理 若 \(a\) 和 \(b\) 是两个非负整数,且 \(a > b\),则: \[\gcd(a, b) = \gcd(b,a \mod b) \]我们可以利用该定理快速求解最大公因数,此时考虑两种情况 \(b=0\): \(\gcd(a,b)=a\) \(b\ne0\): 阅读全文
posted @ 2025-05-27 22:51 nightmare_lhh 阅读(33) 评论(0) 推荐(0)
摘要: 欧拉函数和线性欧拉筛 欧拉函数 定义 \[\phi(n) = \sum_{k=1}^n \delta_{\gcd(k,n),1} \\ \text{(其中δ为克罗内克函数)}\\\delta_{i,j}=\begin{cases} 1\quad(i=j)\\ 0\quad(i\ne j) \end{ 阅读全文
posted @ 2025-05-26 23:33 nightmare_lhh 阅读(38) 评论(0) 推荐(0)
摘要: 质数筛 埃氏筛 思想 对于一个正整数,除它本身外的所有正整数倍的数字一定都是合数 算法实现 我们利用 notprime[i] 表示一个数字是否为合数(\(0\) 为质数,\(1\) 为合数),所以: bool notprime[maxn + 5]; // 初始均为 0:质数 for (int i = 阅读全文
posted @ 2025-05-25 22:49 nightmare_lhh 阅读(15) 评论(0) 推荐(0)
摘要: 高斯消元 概念 高斯消元,顾名思义是用来消元求解线性方程组(\(n\) 元一次方程组)的一种算法 算法实现 这是一个\(n\) 元一次方程组: \[\begin{cases} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n=b_1\\ a_{21}x_1+a_{22}x_2 阅读全文
posted @ 2025-05-17 22:59 nightmare_lhh 阅读(39) 评论(0) 推荐(0)
摘要: 矩阵与矩阵快速幂 概念 定义:矩阵(Matrix)是由 行(Row) 和 列(Column) 组成的 二维矩形数组,其中每个元素称为矩阵的元素(Element)。元素的类型任意。 表示形式: 一个 \(m\times n\) 矩阵(\(m\) 行,\(n\) 列)通常用大写字母表示,例如 \(A\) 阅读全文
posted @ 2025-05-17 21:59 nightmare_lhh 阅读(24) 评论(0) 推荐(0)