随笔分类 - 算法整理
摘要:并查集 并查集是一种树形的数据结构,可以很高效的解决一些问题。 操作 有三个操作: 初始化 查找 合并 初始化 初始时,每个点都是自己的父亲。 int fa[maxn]; for(int i = 1;i <= n;i ++) fa[i] = i; 查找 上图中,想要找 \(5\) 的祖先,先通过 \
阅读全文
摘要:矩阵 定义 在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合。 就像下面一样: $$\begin{bmatrix} 1&2&3\1&2&3 \end{bmatrix}$$ 特别的,主对角线上为 1,其余位置为 0 的叫做单位矩阵 \(I\): $$\begin{bmatrix}
阅读全文
摘要:这几天在复习 qbxt 的知识,学到了线段树,就来总结一下。 线段树 上面这张图显然是线段树,线段树就是一个处理区间的一个数据结构,将整个线段划分成一个树的结构,将长度不是 1 的段划分成两个子区间来求解,通过合并两个区间的信息来求解,这也是一个高效的数据结构。 总体时间复杂度为 \(\mathca
阅读全文
摘要:UVA11426 GCD - Extreme (II) 这几天我看了 LRJ 的书看到了这一题,就把这道题写了,正好这道题挺不错的。 题目 题目PDF 知识 欧拉函数 定义: \(\varphi(n)\) 为小于等于 \(n\) 与 \(n\) 互质的数的个数 它有一些有趣的性质: \(\varph
阅读全文
摘要:这几天的竞赛期末考试中遇到了组合数的题目,就是 NOIP2016 组合数问题 原题,正好现在数学学到了一点点排列组合,就来整理一下吧。 组合数 就是从 \(n\) 个不同元素中,抽取 \(m\) 个元素的方案数。 组合数公式为: \(\dbinom{n}{m}= \dfrac{n!}{m! \tim
阅读全文
摘要:LCA LCA 的问题是很经典的,我这一次就来讲解一下 LCA 的求法,就先从一道模板题入手吧 题目 P3379 【模板】最近公共祖先(LCA) 输入格式 第一行包含三个正整数 \(N,M,S\) 分别表示树的结点个数、询问的个数和树根结点的序号。 接下来 \(N-1\) 行每行包含两个正整数 \(
阅读全文
摘要:区间 DP 区间 DP 是对一个区间的合并的代价的最优值。通常区间 \(DP\) 符合以下几个特点: 合并:即将两个或多个部分进行整合,当然也可以反过; 特征:能将问题分解为能两两合并的形式; 求解:对整个问题设最优值,枚举合并点,将问题分解为左右两个部分,最后合并两个部分的最优值得到原问题的最优值
阅读全文
摘要:题目 P3383 【模板】线性筛素数 题目描述 如题,给定一个范围$n$,有$q$个询问,每次输出第$k$小的素数。 输入格式 第一行包含两个正整数 \(n,q\),分别表示查询的范围和查询的个数。 接下来$q$行每行一个正整数$k$,表示查询第$k$小的素数。 输出格式 输出$q$行,每行一个正整
阅读全文
摘要:$01$背包问题 我学两天了两天的动态规划终于学会了01背包问题,特来记录一下算法过程。 算法主题思路 先来看一个很经典的题目: 每种物品都有一个价值 \(w\) 和体积 \(c\) ,你现在有一个背包容积为V,你想用一些物品装背包使得物品总价值最大。 看着这个题目,就是一个很经典的背包问题 ,然后
阅读全文

浙公网安备 33010602011771号