随笔分类 -  洛谷官方题单

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 16 下一页
摘要:原题链接:https://www.luogu.com.cn/problem/P5250 题意解读:根据题目要求,需要一种数据结构,支持去重、排序、logN的查找,set是最合适的。 解题思路: 先回顾一下set的关键操作: 设set<int> s; 1、添加:s.insert(x) 2、查询个数:s 阅读全文
posted @ 2024-03-21 08:52 五月江城 阅读(46) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P3405 题意解读:要找到特殊城市的对数,即城市名称前两个字母和另一个城市的州一样,城市的州和另一个城市的前两个字母一样,且州不相同。 解题思路: 定义map<string, int> h; 对于每一个城市,将"州+城市前 阅读全文
posted @ 2024-03-20 17:51 五月江城 阅读(64) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P3370 题意解读:本题要求理解哈希的原理,自行建立哈希表解题,如果直接使用map,就不推荐。 解题思路: 先介绍哈希的原理 1、什么是哈希?什么是哈希表? 先从一个问题出发:给定不超过105个整数(取值1~109),要统 阅读全文
posted @ 2024-03-20 14:44 五月江城 阅读(119) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P1536 题意解读:城镇之间现有的道路关系可以将城镇划分的若干集合,每个集合内的城镇是互通的,要计算最少增加多少条道路,使得每个集合都相通。 解题思路: 利用并查集,统计一共出现多少个集合,即p[i] = i的数量, 最少 阅读全文
posted @ 2024-03-20 11:44 五月江城 阅读(28) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P1551 题意解读:要判断两人是否是亲戚,只需要看两人是否属于一个集合,基于所有已知的亲戚关系,可以建立多个有亲戚关系的集合,这个过程可以借助并查集。 解题思路: 并查集: 1、定义 并查集是一种树形数据结构,本质上是多棵 阅读全文
posted @ 2024-03-20 11:30 五月江城 阅读(35) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P1185 题意解读:在表格中绘制二叉树,有几个关键点 1、结点用小写字母 o 表示,对于一个父亲结点,用 / 连接左子树,用 \ 连接右子树,表格其余地方填空格。 2、第m 层结点若两个属于同一个父亲,那么它们之间由 3 阅读全文
posted @ 2024-03-19 11:50 五月江城 阅读(88) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P3884 题意解读:要计算二叉树的深度、宽度、节点间的距离,深度、宽度的概念很好理解,节点间的距离描述是:节点u,v 之间的距离表示从u 到v的最短有向路径上向根节点的边数的两倍加上向叶节点的边数。说人话就是:u到v的距离 阅读全文
posted @ 2024-03-18 14:53 五月江城 阅读(44) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P1030 题意解读:已知中序、后序,求先序。 解题思路: 与洛谷题单指南-二叉树-P1827 [USACO3.4] 美国血统 American Heritage非常类似,不在介绍过程,直接给出代码。 100分代码: #in 阅读全文
posted @ 2024-03-15 15:58 五月江城 阅读(23) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P1305 题意解读:二叉树的建立和前序遍历,主要注意每个节点值是小写字母。 解题思路: 树的存储: struct node { char value; int l, r; } tree[30]; 对于节点a,存到第1个,即 阅读全文
posted @ 2024-03-15 15:43 五月江城 阅读(62) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P1229 题意解读:已知前序、后续遍历序列,计算中序可能的数量,没有直接算法,更像一道智力题。 解题思路: 观察题目中给定的4个图形: 会发现一个现象: 对于三个节点的二叉树,要使前、后序遍历序列确定的情况,中序遍历序列不 阅读全文
posted @ 2024-03-15 15:19 五月江城 阅读(90) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P1364 题意解读:医院的位置使所有居民所走的路程之和为最小,即找到一个节点,该节点到其他所有节点的距离*其他节点的权值即人数之和最小。 解题思路: 看起来是一个二叉树问题,本质上是一个图论问题,有三种方式可以求解: 1、 阅读全文
posted @ 2024-03-15 14:55 五月江城 阅读(73) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P5076 题意解读:此题本质上是要实现一个二叉搜索树的功能。 解题思路: 从数据规模10^4来看,只要复杂度在n^2范围内基本上是可以通过的,下面给出两种做法: 1、有序数组法 对应5个操作的实现逻辑如下: 操作一:查x的 阅读全文
posted @ 2024-03-14 16:36 五月江城 阅读(125) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P1827 题意解读:已知二叉树的中序、前序遍历结果,求后序遍历结果。 解题思路: 已知中序、前序(或后序)遍历的结果,要求后序(或前序)遍历的结果,本质上就是借助于已知的前序(或后序)遍历结果寻找二叉树的根, 再根据根节点 阅读全文
posted @ 2024-03-14 10:43 五月江城 阅读(49) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P4913 题意解读:计算二叉树的深度 解题思路: 首先介绍二叉树的存储方式,对于本题,直接用数组模拟,数组的下标即节点号 struct node { int l, r; } tree[N]; tree[i].l存的是节点i 阅读全文
posted @ 2024-03-14 09:48 五月江城 阅读(94) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P4715 题意解读:计算亚军得主,注意能力值最高的肯定是冠军,但能力值第二高的不一定是亚军,因为有可能中途就遭遇冠军。 解题思路: 根据题意,两两比赛,一轮后再按顺序两两比赛,形如一棵二叉树,但解题其实用不到二叉树的数据结 阅读全文
posted @ 2024-03-13 16:18 五月江城 阅读(39) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P2234 题意解读:要计算每一天最小波动值的和,需要对每一天求最小波动值,再求和,如果暴力法,时间复杂度在1+2+3+......+32767≈5*10^8,可能会超时。 解题思路: 1、暴力法:由于本题测试数据比较水,实 阅读全文
posted @ 2024-03-13 09:48 五月江城 阅读(32) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P4387 题意解读:判断一组序列入栈后,出栈序列的合法性。 解题思路: 数据长度100000,直接模拟堆栈的入栈和出栈即可 遍历每一个入栈元素,依次入栈, 每一个元素入栈后,比较栈顶元素和出栈序列第一个, 如果相等,则出栈 阅读全文
posted @ 2024-03-12 17:42 五月江城 阅读(67) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P1241 题意解读:括号配对问题,直观上是堆栈的应用。关键的匹配策略是读懂该句:考察它与它左侧离它最近的未匹配的的左括号。 解题思路: 本题所需核心数据结构是堆栈,由于要实现从栈顶找到第一个未匹配的左括号,所以堆栈中只存所 阅读全文
posted @ 2024-03-12 11:53 五月江城 阅读(64) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P2058 题意解读:计算24小时时间窗口内不同国家的数量,是队列的典型应用。 解题思路: 本题需要用到两个关键的数据结构:队列、数组 队列用来保存24小时内到达的船的时间,数组用来保存24小时内每个国家有多少人 每到一只船 阅读全文
posted @ 2024-03-12 10:21 五月江城 阅读(65) 评论(0) 推荐(0) 编辑
摘要:原题链接:https://www.luogu.com.cn/problem/P1540 题意解读:本题模拟内存的调入调出,内存先入先出的特性就是队列。 解题思路: 本题需要两种数据结构:队列、数组 队列用来模拟内存的操作,数组充当hash表用于判断单词在内存是否存在 核心逻辑:对于每一个单词,如果内 阅读全文
posted @ 2024-03-12 09:45 五月江城 阅读(47) 评论(0) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 16 下一页