随笔分类 -  洛谷官方题单

上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 24 下一页
摘要:原题链接:https://www.luogu.com.cn/problem/P2814 题意解读:已知多组父子关系,找某个人最早的祖先,并查集的应用。 解题思路: 由于存在真正的父子关系,所以在并查集合并的时候,要把p[x] = y中x设置为子,y设置为父,其余都是并查集的常规操作。 由于是计算姓名 阅读全文
posted @ 2024-03-26 17:32 hackerchef 阅读(53) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3879 题意解读:此题本质上是计算倒排索引,所谓倒排索引,即不是通过文章来找单词,而是通过单词来找文章。 解题思路: 要建立单词和文章之间的关系,一个单词对应多篇文章,且要按照文章编号排序,编号还要去重,可以使用如下数据 阅读全文
posted @ 2024-03-26 16:34 hackerchef 阅读(84) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P4305 题意解读:对数据进行去重,借助于set、map都可以解决 解题思路: 由于数据范围比较大,不能直接用数组hash,可以借助于set、map,这里采用map 唯一要注意的问题:本题输入输出数据量很大,需要用scan 阅读全文
posted @ 2024-03-26 15:43 hackerchef 阅读(174) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1955 题意解读:要判断约束条件是否可以同时满足,主要是要判断不相等的情况。 解题思路: 对于相等的条件,直接进行集合合并即可; 对于不相等的条件,判断两者是否属于同一个集合,如果形成矛盾,则条件不能成立。 由于i,j的 阅读全文
posted @ 2024-03-26 15:07 hackerchef 阅读(85) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1892 题意解读:此题与关押罪犯问题非常像,本质上就是要合并所有的朋友。 解题思路: 首先,初始化并查集; 对于每一对人的关系,如果是朋友,直接进行合并; 如果是敌人,先查看双方之前是否有记录其他敌人,如果有,则将一方与 阅读全文
posted @ 2024-03-26 11:40 hackerchef 阅读(71) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1621 题意解读:a~b之间的数,把有大于等于p的公共质因数的数进行合并作为一个集合,求一共有多少个集合。 解题思路: 要进行集合合并、统计集合数,可以使用并查集,有两种做法: 1、暴力法 80%的数据在1000范围内, 阅读全文
posted @ 2024-03-26 09:43 hackerchef 阅读(112) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1525 题意解读:有很多罪犯,要关到两座监狱,有一些罪犯之间有仇,并且可以量化出仇恨值,如果关在一起就会冲突,造成的影响就是仇恨值,要使得造成的影响最小,如果可以完全不起冲突,输出0。 解题思路: 首先,要让冲突影响最小 阅读全文
posted @ 2024-03-22 21:04 hackerchef 阅读(71) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1918 题意解读:又一个map的应用 解题思路:只需要用一个map<int, int>记录瓶子数和对应的位置即可。 100分代码: #include <bits/stdc++.h> using namespace std 阅读全文
posted @ 2024-03-21 09:37 hackerchef 阅读(148) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1102 题意解读:前文https://www.cnblogs.com/jcwy/p/18043197介绍了二分和双指针的做法,本文介绍hash的做法。 解题思路: 定义map<int, int> h,保存每个数+c出现的 阅读全文
posted @ 2024-03-21 09:27 hackerchef 阅读(86) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P5266 题意解读:本题考察map的应用。 解题思路:直接使用map即可解题。 100分代码: #include <bits/stdc++.h> using namespace std; map<string, int> 阅读全文
posted @ 2024-03-21 09:12 hackerchef 阅读(97) 评论(0) 推荐(0)
摘要:原题链接: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 hackerchef 阅读(166) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3405 题意解读:要找到特殊城市的对数,即城市名称前两个字母和另一个城市的州一样,城市的州和另一个城市的前两个字母一样,且州不相同。 解题思路: 定义map<string, int> h; 对于每一个城市,将"州+城市前 阅读全文
posted @ 2024-03-20 17:51 hackerchef 阅读(157) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3370 题意解读:本题要求理解哈希的原理,自行建立哈希表解题,如果直接使用map,就不推荐。 解题思路: 先介绍哈希的原理 1、什么是哈希?什么是哈希表? 先从一个问题出发:给定不超过105个整数(取值1~109),要统 阅读全文
posted @ 2024-03-20 14:44 hackerchef 阅读(290) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1536 题意解读:城镇之间现有的道路关系可以将城镇划分的若干集合,每个集合内的城镇是互通的,要计算最少增加多少条道路,使得每个集合都相通。 解题思路: 利用并查集,统计一共出现多少个集合,即p[i] = i的数量, 最少 阅读全文
posted @ 2024-03-20 11:44 hackerchef 阅读(71) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1551 题意解读:要判断两人是否是亲戚,只需要看两人是否属于一个集合,基于所有已知的亲戚关系,可以建立多个有亲戚关系的集合,这个过程可以借助并查集。 解题思路: 并查集: 1、定义 并查集是一种树形数据结构,本质上是多棵 阅读全文
posted @ 2024-03-20 11:30 hackerchef 阅读(126) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1185 题意解读:在表格中绘制二叉树,有几个关键点 1、结点用小写字母 o 表示,对于一个父亲结点,用 / 连接左子树,用 \ 连接右子树,表格其余地方填空格。 2、第m 层结点若两个属于同一个父亲,那么它们之间由 3 阅读全文
posted @ 2024-03-19 11:50 hackerchef 阅读(277) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P3884 题意解读:要计算二叉树的深度、宽度、节点间的距离,深度、宽度的概念很好理解,节点间的距离描述是:节点u,v 之间的距离表示从u 到v的最短有向路径上向根节点的边数的两倍加上向叶节点的边数。说人话就是:u到v的距离 阅读全文
posted @ 2024-03-18 14:53 hackerchef 阅读(142) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1030 题意解读:已知中序、后序,求先序。 解题思路: 与洛谷题单指南-二叉树-P1827 [USACO3.4] 美国血统 American Heritage非常类似,不在介绍过程,直接给出代码。 100分代码: #in 阅读全文
posted @ 2024-03-15 15:58 hackerchef 阅读(59) 评论(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 hackerchef 阅读(133) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P1229 题意解读:已知前序、后续遍历序列,计算中序可能的数量,没有直接算法,更像一道智力题。 解题思路: 观察题目中给定的4个图形: 会发现一个现象: 对于三个节点的二叉树,要使前、后序遍历序列确定的情况,中序遍历序列不 阅读全文
posted @ 2024-03-15 15:20 hackerchef 阅读(283) 评论(0) 推荐(0)

上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 24 下一页