摘要:
AcWing200.Hankson的趣味题 题目描述 Hanks 博士是 BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫 Hankson。 现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题。 今天在课堂上,老师讲解了如何求两个正整数 $c_1$ 和 $c_2$ 的最大公约 阅读全文
摘要:
一、简述 本节主要介绍一下有关最小生成树的两个算法,即 $Prim$ 算法和 $Kruskal$ 算法,适用于无向图。 二、Prim 算法 基本思想 $Prim$ 算法有一个适用于稠密图的朴素版,时间复杂度是 $O(n^2)$,还有一个适用于稀疏图的堆优化版本,时间复杂度为 $O(mlogn)$,不 阅读全文
摘要:
一、简述 本节主要介绍一下 $Dijkstra$ 算法。该算法主要用于解决单源最短路问题,且该问题中的边权不为负数。 二、Dijkstra算法 基本思想:我们假定有一张没有负权的图,该图如下 $dist$ 数组的元素 $dist[i]$ 表示从起点到 $i$ 的距离,初始化为正无穷。假设起点为 $1 阅读全文
摘要:
一、简述 本节介绍一下拓扑排序的应用以及模板。 二、拓扑序 有向无环图,又称拓扑图,而拓扑图一定对应着拓扑序,比如有向图 $(1,2),(2,3),(1,3)$,前者指向后者,对应于拓扑序 $1,2,3$。基本模板类似 $BFS$,如下 初始化队列 queue 所有入度为0的点入 queue whi 阅读全文
摘要:
一、简述 本节介绍一下单调队列及其一些应用。 二、单调队列 单调队列就是队列元素满足单调性的一类数据结构,主要用于解决滑动窗口类的问题,即维护一个区间的最值,在应用时时间复杂度是 $O(n)$ 的。 一般的,如果我们维护区间的最小值,那么维护的队列是单调递增的;如果是维护区间的最大值,那么队列是单调 阅读全文
摘要:
一、简述 本节介绍一下单调栈以及单调栈的一些应用。 二、单调栈 所谓单调栈,就是具有存储的元素呈现某种单调性的栈。 比如:从栈底元素到栈顶元素是单调递减的,就是一个单调递减栈。 下面我们引入几道题目来更好的理解一下。 三、例题 1.[AcWing830.单调栈] 题目描述 给定一个长度为 $N$ 的 阅读全文
摘要:
今日的知识点为 $BFS$ (广度优先搜素)。 $BFS$ 简要介绍下 $BFS$ 算法。首先,$BFS$ 算法适用于边权为 $1$ 的图论问题。$BFS$ 算法的解题思路也比较固定。确定初始状态,然后对初始状态拓展。大致的解题模板如下 初始化 queue while queue 不空 { t 为队 阅读全文
摘要:
复习的知识点为哈希。 AcWing840.模拟散列表 题目描述 维护一个集合,支持如下几种操作: I x,插入一个数 $x$; Q x,询问数 $x$ 是否在集合中出现过; 现在要进行 $N$ 次操作,对于每个询问操作输出对应的结果。 输入格式 第一行包含整数 $N$,表示操作数量。 接下来 $N$ 阅读全文
摘要:
今日复习的知识点为Tire树(字典树)。字典树可用于快速存储和查找字符串,并且 $0-1$ 字典树也可以用于解决异或问题。 AcWing3485.最大异或和 题目描述 给定一个非负整数数列 $a$,初始长度为 $N$。 请在所有长度不超过 $M$ 的连续子数组中,找出子数组异或和的最大值。 子数组的 阅读全文
摘要:
今日复习的知识点为递归。递归对于笔者而言是个比较难以理解的知识点,后续会多进行递归题目的练习。 AcWing1497.树的遍历 题目描述 一个二叉树,树中每个节点的权值互不相同。 现在给出它的后序遍历和中序遍历,请你输出它的层序遍历。 输入格式 第一行包含整数 $N$,表示二叉树的节点数。 第二行包 阅读全文