摘要:
原题链接:https://www.luogu.com.cn/problem/P3879 题意解读:此题本质上是计算倒排索引,所谓倒排索引,即不是通过文章来找单词,而是通过单词来找文章。 解题思路: 要建立单词和文章之间的关系,一个单词对应多篇文章,且要按照文章编号排序,编号还要去重,可以使用如下数据 阅读全文
posted @ 2024-03-26 16:34
hackerchef
阅读(94)
评论(0)
推荐(0)
摘要:
原题链接:https://www.luogu.com.cn/problem/P4305 题意解读:对数据进行去重,借助于set、map都可以解决 解题思路: 由于数据范围比较大,不能直接用数组hash,可以借助于set、map,这里采用map 唯一要注意的问题:本题输入输出数据量很大,需要用scan 阅读全文
posted @ 2024-03-26 15:43
hackerchef
阅读(199)
评论(0)
推荐(0)
摘要:
原题链接:https://www.luogu.com.cn/problem/P1955 题意解读:要判断约束条件是否可以同时满足,主要是要判断不相等的情况。 解题思路: 对于相等的条件,直接进行集合合并即可; 对于不相等的条件,判断两者是否属于同一个集合,如果形成矛盾,则条件不能成立。 由于i,j的 阅读全文
posted @ 2024-03-26 15:07
hackerchef
阅读(103)
评论(0)
推荐(0)
摘要:
原题链接:https://www.luogu.com.cn/problem/P1892 题意解读:此题与关押罪犯问题非常像,本质上就是要合并所有的朋友。 解题思路: 首先,初始化并查集; 对于每一对人的关系,如果是朋友,直接进行合并; 如果是敌人,先查看双方之前是否有记录其他敌人,如果有,则将一方与 阅读全文
posted @ 2024-03-26 11:40
hackerchef
阅读(89)
评论(0)
推荐(0)
摘要:
原题链接:https://www.luogu.com.cn/problem/P1621 题意解读:a~b之间的数,把有大于等于p的公共质因数的数进行合并作为一个集合,求一共有多少个集合。 解题思路: 要进行集合合并、统计集合数,可以使用并查集,有两种做法: 1、暴力法 80%的数据在1000范围内, 阅读全文
posted @ 2024-03-26 09:43
hackerchef
阅读(146)
评论(0)
推荐(0)
摘要:
原题链接:https://www.luogu.com.cn/problem/P1525 题意解读:有很多罪犯,要关到两座监狱,有一些罪犯之间有仇,并且可以量化出仇恨值,如果关在一起就会冲突,造成的影响就是仇恨值,要使得造成的影响最小,如果可以完全不起冲突,输出0。 解题思路: 首先,要让冲突影响最小 阅读全文
posted @ 2024-03-22 21:04
hackerchef
阅读(96)
评论(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
阅读(174)
评论(0)
推荐(0)
摘要:
原题链接:https://www.luogu.com.cn/problem/P1102 题意解读:前文https://chuna2.787528.xyz/jcwy/p/18043197介绍了二分和双指针的做法,本文介绍hash的做法。 解题思路: 定义map<int, int> h,保存每个数+c出现的 阅读全文
posted @ 2024-03-21 09:27
hackerchef
阅读(118)
评论(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
阅读(115)
评论(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
阅读(184)
评论(0)
推荐(0)
浙公网安备 33010602011771号