随笔分类 - 算法基础学习
就是在学习算法的时候新学到的、需要总结的一些小知识。
摘要:
一、图的存储 在我们存储图的时候,主要使用邻接矩阵、邻接表两种方式来存储。通常邻接矩阵存储稠密图(边多),临界矩阵存储稀疏图(边少)。 1.1 邻接矩阵存储 邻接矩阵听起来比较高大上,其实就是用二维数组来表示 \(a\) 点与 \(b\) 点之间有一条边。例如在上述无向图中 \(1\) 与 \(4\
阅读全文
一、图的存储 在我们存储图的时候,主要使用邻接矩阵、邻接表两种方式来存储。通常邻接矩阵存储稠密图(边多),临界矩阵存储稀疏图(边少)。 1.1 邻接矩阵存储 邻接矩阵听起来比较高大上,其实就是用二维数组来表示 \(a\) 点与 \(b\) 点之间有一条边。例如在上述无向图中 \(1\) 与 \(4\
阅读全文
摘要:
并查集 一、并查集的功能 将两个集合进行合并。 查询两个元素是否属于同一个集合。 将两个元素并到成一个集合。 以基本 \(O(1)\) 的时间复杂度实现上面两个操作 二、并查集的实现 2.1 实现的基本原理 并查集基本使用用树来维护的,用一个 \(P\) 数组来维护每个节点的父节点 每个独立的集合都
阅读全文
并查集 一、并查集的功能 将两个集合进行合并。 查询两个元素是否属于同一个集合。 将两个元素并到成一个集合。 以基本 \(O(1)\) 的时间复杂度实现上面两个操作 二、并查集的实现 2.1 实现的基本原理 并查集基本使用用树来维护的,用一个 \(P\) 数组来维护每个节点的父节点 每个独立的集合都
阅读全文
摘要:
一、关于取模运算 1.1 关于本篇内容 在做题的时候总会遇到很多需要取模的结果,让答案对取 \(1e9 + 7\) 或者是 \(998244353\) 这样的数字取模。这两个数都是质数!我们这篇主要是要说明为什么取模的时候对于除法、减法需要考虑逆元。以及对于逆元应该如何实现。 1.2 关于常见的取模
阅读全文
一、关于取模运算 1.1 关于本篇内容 在做题的时候总会遇到很多需要取模的结果,让答案对取 \(1e9 + 7\) 或者是 \(998244353\) 这样的数字取模。这两个数都是质数!我们这篇主要是要说明为什么取模的时候对于除法、减法需要考虑逆元。以及对于逆元应该如何实现。 1.2 关于常见的取模
阅读全文
摘要:
2023年10月17日 更新于10月17日 一、前言 本栏,为状态压缩模型,题目主要来源日常,目前主要来源于Acwing的提高课。希望以后做到状态压缩的题目,也能加进来,不断完善。使用的分析方法均为闫式DP分析法。字臭。。。希望能用手写板慢慢写的好看。 二、状态压缩模型 2.1 解决的类型 棋盘式状
阅读全文
2023年10月17日 更新于10月17日 一、前言 本栏,为状态压缩模型,题目主要来源日常,目前主要来源于Acwing的提高课。希望以后做到状态压缩的题目,也能加进来,不断完善。使用的分析方法均为闫式DP分析法。字臭。。。希望能用手写板慢慢写的好看。 二、状态压缩模型 2.1 解决的类型 棋盘式状
阅读全文
摘要:
2023年10月13日 更新于2023年10月13日 一、前言 本栏,为状态机模型,题目主要来源日常,目前主要来源于Acwing的提高课。希望以后做到状态机的题目,也能加进来,不断完善。使用的分析方法均为闫式DP分析法。字臭。。。希望能用手写板慢慢写的好看。 二、状态机模型 2.1 对于状态机的考虑
阅读全文
2023年10月13日 更新于2023年10月13日 一、前言 本栏,为状态机模型,题目主要来源日常,目前主要来源于Acwing的提高课。希望以后做到状态机的题目,也能加进来,不断完善。使用的分析方法均为闫式DP分析法。字臭。。。希望能用手写板慢慢写的好看。 二、状态机模型 2.1 对于状态机的考虑
阅读全文
摘要:
2023年10月11日 更新于2023年10月15日 习题更新至19 一、前言 本栏,为背包模型,题目主要来源日常,目前主要来源于Acwing的提高课。希望以后做到背包的题目,也能加进来,不断完善。使用的分析方法均为闫式DP分析法。字臭。。。希望能用手写板慢慢写的好看。 二、背包模型 2.1 目前的
阅读全文
2023年10月11日 更新于2023年10月15日 习题更新至19 一、前言 本栏,为背包模型,题目主要来源日常,目前主要来源于Acwing的提高课。希望以后做到背包的题目,也能加进来,不断完善。使用的分析方法均为闫式DP分析法。字臭。。。希望能用手写板慢慢写的好看。 二、背包模型 2.1 目前的
阅读全文
摘要:
2023年10月10日 更新于2023年10月20日 添加题目:14.最大连续子序列 一、前言 本栏,为线性DP,题目主要来源日常,目前主要来源于Acwing的提高课。希望以后做到线性DP的题目,也能加进来,不断完善。 二、线性DP 2.1 目前的模型: 数字三角形模型 最长上升子序列模型 2.2
阅读全文
2023年10月10日 更新于2023年10月20日 添加题目:14.最大连续子序列 一、前言 本栏,为线性DP,题目主要来源日常,目前主要来源于Acwing的提高课。希望以后做到线性DP的题目,也能加进来,不断完善。 二、线性DP 2.1 目前的模型: 数字三角形模型 最长上升子序列模型 2.2
阅读全文
摘要:
今天太幸运了!硬啃把模板啃下来! 树状数组 解决的本质问题 树状数组解决的本质问题只有一个: 单点改动、区间求值 其他的问题,都是可以转化到该问题上的。 代码板子重点操作 lowbit操作 int lowbit(int x){ return x & -x;} add添加一个值操作 void add(
阅读全文
今天太幸运了!硬啃把模板啃下来! 树状数组 解决的本质问题 树状数组解决的本质问题只有一个: 单点改动、区间求值 其他的问题,都是可以转化到该问题上的。 代码板子重点操作 lowbit操作 int lowbit(int x){ return x & -x;} add添加一个值操作 void add(
阅读全文
摘要:
$\color{#39c588} {关于最短路} $ $\color{purple} {首先是最短路的算法选择思路捏,直接来个Y总的图} $ ++$\color{purple} {单源汇问题} $++ $\color{orange} {朴素版Dijkstra} $ 实现思路 //朴素版Dijkstr
阅读全文
$\color{#39c588} {关于最短路} $ $\color{purple} {首先是最短路的算法选择思路捏,直接来个Y总的图} $ ++$\color{purple} {单源汇问题} $++ $\color{orange} {朴素版Dijkstra} $ 实现思路 //朴素版Dijkstr
阅读全文
摘要:
图论——最短路 图论最短路的建图方式,重要是两种,邻接表、邻接矩阵。邻接矩阵比较简单,就是二维数组,邻接表的遍历和存储很有讲究。邻接矩阵实现简单,但邻接矩阵更吊一些。 邻接矩阵存储 简单说明 我们在做最短路,用邻接矩阵存储一定记住一下几点。 存储的是稀疏图 不能存很多点 需要把g[][],都初始化成
阅读全文
图论——最短路 图论最短路的建图方式,重要是两种,邻接表、邻接矩阵。邻接矩阵比较简单,就是二维数组,邻接表的遍历和存储很有讲究。邻接矩阵实现简单,但邻接矩阵更吊一些。 邻接矩阵存储 简单说明 我们在做最短路,用邻接矩阵存储一定记住一下几点。 存储的是稀疏图 不能存很多点 需要把g[][],都初始化成
阅读全文
摘要:
2023年9月18日 今天上午写了Atcoder的翻译,以后对于我这种菜鸡来说,多多少少有点用了。前两个题是贪心,第三个是BFS。 Acwing908 最大不相交区间数量 题目理解 全部按右端点进行排序 然后如果下一个点的左,比我的右端点还大,那么就肯定不在一个区间 然后更新目前的右端点即可 代码实
阅读全文
2023年9月18日 今天上午写了Atcoder的翻译,以后对于我这种菜鸡来说,多多少少有点用了。前两个题是贪心,第三个是BFS。 Acwing908 最大不相交区间数量 题目理解 全部按右端点进行排序 然后如果下一个点的左,比我的右端点还大,那么就肯定不在一个区间 然后更新目前的右端点即可 代码实
阅读全文
摘要:
题目链接 ACWING5201 午餐音乐会 这个题带我了解了三分! 题目描述 一维数轴上站着 N个人,编号 1∼N。初始时,第 i 个人位于整数坐标位置 Pi,此人移动 1单位距离所需的成本为 Wi,他能听到与他相距不超过Di的所有位置发出的声音。不同的人的位置可以重叠。现在,我们需要选择一个整数坐
阅读全文
题目链接 ACWING5201 午餐音乐会 这个题带我了解了三分! 题目描述 一维数轴上站着 N个人,编号 1∼N。初始时,第 i 个人位于整数坐标位置 Pi,此人移动 1单位距离所需的成本为 Wi,他能听到与他相距不超过Di的所有位置发出的声音。不同的人的位置可以重叠。现在,我们需要选择一个整数坐
阅读全文

浙公网安备 33010602011771号