随笔分类 -  map

摘要:解题思路 这道题目要求我们找到一种最优的攻击顺序,使得游戏结束时剩余的怪兽数量最少。通过分析题目规则,我们可以发现关键在于如何最大化消灭怪兽的数量。 方法思路 统计频率:统计每个攻击力/防御力值的出现次数 找出最大值:剩余怪兽的最小数量等于出现次数最多的那个攻击力/防御力值的出现次数 数学推导:因为 阅读全文
posted @ 2025-05-20 17:43 CRt0729 阅读(209) 评论(0) 推荐(0)
摘要:解题思路 这道题目要求找出满足特定条件的城市对:两个城市的前两个字母互为对方所在州的代码,并且来自不同的州。我们需要高效地统计这样的特殊城市对数。 方法思路 字符串处理:提取每个城市名称的前两个字母作为关键标识 哈希映射:使用map来记录州代码和城市前两字母的组合 配对统计:检查当前城市前两字母和州 阅读全文
posted @ 2025-05-20 17:38 CRt0729 阅读(54) 评论(0) 推荐(0)
摘要:解题思路 这道题目要求计算数组中满足A-B=C的数对个数。由于数组可能很大,我们需要高效的统计方法。 方法思路 哈希统计法:使用unordered_map统计每个数字出现的次数 数学转换:将A-B=C转换为A=B+C,统计每个数字B的B+C出现的次数 累加结果:遍历数组,累加每个数字B对应的B+C的 阅读全文
posted @ 2025-05-20 17:32 CRt0729 阅读(138) 评论(0) 推荐(0)
摘要:解题思路 这道题目要求统计一个整数数组中每个数字出现的频率,并按数字升序输出结果。由于数字的范围可能很大(-10^9到10^9),我们需要使用高效的数据结构来统计频率。 方法思路 使用map容器:利用C++的map<int,int>来统计数字频率。map会自动按键(数字)升序排列,正好满足题目输出要 阅读全文
posted @ 2025-05-20 17:24 CRt0729 阅读(69) 评论(0) 推荐(0)
摘要:#include<bits/stdc++.h> using namespace std; int n,m; // n-集合中字符串数量,m-查询次数 map<string,int> vis; // 使用map存储字符串出现情况 int main() { cin >> n; // 读取字符串集合数量 阅读全文
posted @ 2025-05-20 17:22 CRt0729 阅读(20) 评论(0) 推荐(0)
摘要:解题思路 这道题目要求我们实现一个数字查询系统,判断给定的数字是否存在于预先给定的集合中。由于数字的范围可能很大(-10^9到10^9),传统的数组标记法不再适用,因此需要使用更高效的数据结构。 方法思路 使用map容器:由于数字的范围很大,使用数组标记法会消耗过多内存。这里使用C++的map容器来 阅读全文
posted @ 2025-05-20 17:15 CRt0729 阅读(30) 评论(0) 推荐(0)
摘要:#include<bits/stdc++.h> #define pii pair<int,int> using namespace std; // 定义一个图的邻接表,键是节点,值是与该节点相连的节点列表 map<int,vector<int> > g; // 定义一个集合,用于存储可以到达的终点 阅读全文
posted @ 2025-04-24 16:22 CRt0729 阅读(18) 评论(0) 推荐(0)
摘要:解决思路 读取输入:读取每组奶牛的名字。 排序:对每组奶牛的名字进行排序,以确保相同的组合总是以相同的顺序出现。 记录出现次数:使用 map 记录每组奶牛组合出现的次数。 计算最大次数:遍历 map,找到出现次数最多的组合。 #include <bits/stdc++.h> #define ll l 阅读全文
posted @ 2024-09-30 16:35 CRt0729 阅读(63) 评论(0) 推荐(0)
摘要:#include <bits/stdc++.h> #define ll long long using namespace std; const int N = 2e5 + 10; // 使用map来记录每个城市前两个字母和州的组合出现的次数 map<string, int> vis; string 阅读全文
posted @ 2024-09-30 16:33 CRt0729 阅读(44) 评论(0) 推荐(0)
摘要:#include <bits/stdc++.h> #define ll long long using namespace std; const int N = 1e3 + 10; // 使用map来记录每个化学成分的出现次数 map<int, int> vis; int n, x, ans = - 阅读全文
posted @ 2024-09-30 16:31 CRt0729 阅读(77) 评论(0) 推荐(0)
摘要:因为它,我学会了sscanf ^^ #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e3+10,inf = 0x3f3f3f3f; map<string,int> p; int n; 阅读全文
posted @ 2024-06-28 15:15 CRt0729 阅读(54) 评论(0) 推荐(0)
摘要:描述 “离散化”是指把一个无穷大的集合映射到一个有限的集合中。 如有n个整数,其中可能存在相同的数,现在需要你将其去重后得到的m个数用1~m来表示,同时保持原始的大小顺序不变,即在不改变数据相对大小的条件下,对数据进行相应的缩小。 如: 原数据:1, 999, 100000, 15 处理后:1, 3 阅读全文
posted @ 2023-10-15 22:39 CRt0729 阅读(66) 评论(0) 推荐(0)
摘要:描述 levil有T个时间点会对一个长度未知数组进行操作,开始时数组里仅有一个元素x,接下来每个时间点,levil都会进行下面的操作中的一种。 操作一:输出当前数组中最大元素的最大因子。 操作二:将一个新的数y加入数组。 操作三:输出数y在数组中有几个。 操作四:将数y从数组中删除一个。 但是lev 阅读全文
posted @ 2023-10-13 20:22 CRt0729 阅读(56) 评论(0) 推荐(0)
摘要:描述 给定n个整数,现在每次能改动一个整数,问最少需要多少次改动才能将它们改成全部相同。 输入 第一行为正整数n(n<=1000000)。 第二行为n个整数(绝对值不超过109)。 输出 输出最少改动的次数。 样例输入 51 2 1 2 5 样例输出 3 map大法好呀 #include<bits/ 阅读全文
posted @ 2023-10-13 19:45 CRt0729 阅读(62) 评论(0) 推荐(0)
摘要:描述 使用STL中的multimap记录用户的所有电话号码,yuyu想查询用户有多少个电话号码,crq则想查询时输出所有的号码。 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。 C++ int main() { multimap<string, string> sm; string n 阅读全文
posted @ 2023-10-13 19:24 CRt0729 阅读(31) 评论(0) 推荐(0)
摘要:期末要到了,小A却没学会多少OpenGL,为了期末作业,于是他决定做一款很简单的游戏,这个游戏我们都玩过,名字就叫“记忆翻牌”。所谓“记忆翻牌”就是给定N行M列的牌,开牌时会全部面朝上让玩家记忆若干秒之后封排(牌面朝下),玩家需要不断从中找2个一样的消除掉,如果不一样则再次找两个,直到全部消完为止。 阅读全文
posted @ 2022-07-13 09:19 CRt0729 阅读(162) 评论(0) 推荐(0)
摘要:描述 使用STL中的next_permutation函数输出一个序列的全排列。 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。 C++ int main() { vector<int> vec; int n, x; cin>>n; while(n--) { cin>>x; vec.pu 阅读全文
posted @ 2022-06-17 17:19 CRt0729 阅读(71) 评论(0) 推荐(0)
摘要:描述 STL的map中存储了字符串以及对应出现的次数,请分别根据字符串顺序从小到大排序和出现次数从小到大排序。 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。 C++ int main() { map<string, int> sm; int n; cin>>n; while(n--) 阅读全文
posted @ 2022-06-17 16:46 CRt0729 阅读(91) 评论(0) 推荐(0)
摘要:描述 使用STL中的map,查找字符串出现的次数。 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。 C++ int main() { int m; map<string, int> sm; Input(sm); cin>>m; while(m--) { string s; cin>>s 阅读全文
posted @ 2022-06-17 16:13 CRt0729 阅读(59) 评论(0) 推荐(0)