
C++ STL
文章平均质量分 74
RichardK.
行则将至
展开
-
求集合交集、并集(不用系统函数,避免超时)
给定两个整数集合,它们的相似度定义为:Nc/Nt×100%。其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。原创 2025-03-26 19:17:45 · 218 阅读 · 0 评论 -
图--Floyd
里实现,可以使用下面的模板。算法,但不写成独立函数,而是直接在。:用于存储任意两点间的最短距离。:表示无穷大,代表不可达。如果你想在考试中使用。(自己到自己的距离为。原创 2025-03-26 17:38:08 · 214 阅读 · 0 评论 -
【C++ STL】 容器——deque详解
/ 空deque// 包含10个元素的deque,初始值为0// 包含10个元素的deque,初始值为5// 通过初始化列表// 通过迭代器范围deque结合了vector和list的优点,适用于需要高效双端操作的场景。它比vector在头部插入/删除操作更快,但随机访问速度略慢。在实际开发中,应根据具体需求选择deque还是vector。原创 2025-03-26 17:35:26 · 333 阅读 · 0 评论 -
BFS思想
如果你想在考试中使用 BFS 思想,但不写成单独的 BFS 函数,而是直接在。换成符合题意的状态变量即可。这样就不需要专门写 BFS 函数了,而是直接在。里实现 BFS 逻辑,可以按照下面的模板来写。:记录是否访问过某个节点(有些题目不需要)。你可以把这个模板应用到不同的题目里,把。:用队列存储 BFS 搜索状态。放入队列,初始步数为。里实现 BFS 逻辑!:邻接矩阵存储图信息。原创 2025-03-26 17:31:10 · 346 阅读 · 0 评论 -
素数 -- 判断、打印、计数、最大、最小、孪生
题目描述给定一个正整数n,判断n是否是素数。输入描述一个正整数n(2≤n≤106)。输出描述如果n是素数,那么输出Yes,否则输出No。样例1输入5输出Yes解释5没有除了1和自身以外的约数,因此是素数样例2输入6输出No解释6有约数2、3,因此不是素数。原创 2025-03-21 17:41:12 · 336 阅读 · 0 评论 -
最长回文子串、最长对称子串(同类型题)
对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定,最长对称子串为,于是你应该输出11。原创 2025-03-23 20:29:04 · 235 阅读 · 0 评论 -
PTA 团体程序设计天梯赛-练习集--《L2-003 月饼》
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。原创 2025-03-23 16:42:03 · 261 阅读 · 0 评论 -
【C++ STL】 容器——unordered_set详解
定义和初始化// 定义一个空的unordered_set,存储int类型的元素// 使用初始化列表初始化unordered_set// 使用另一个unordered_set初始化// 遍历 unordered_setreturn 0;如果存储自定义类型,需要提供哈希函数和相等性比较函数。int x, y;示例:可以定义一个结构体,并重载operator()来指定哈希函数。// 简单的哈希函数it!= us.end();++it) {原创 2025-03-19 14:20:27 · 946 阅读 · 0 评论 -
CCF-CSP第20次认证第1题 --《称检测点查询》
20202020 年 66 月 88 日,国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》,提出对“密切接触者”等八类重点人群“应检尽检”,其他人群“愿检尽检”。某市设有 nn 个核酸检测点,编号从 11 到 nn,其中 ii 号检测点的位置可以表示为一个平面整数坐标 (xi,yi)(xi,yi)。为方便预约核酸检测,请根据市民所在位置 (X,Y)(X,Y),查询距其最近的三个检测点。多个检测点距离相同时,编号较小的视为更近。原创 2025-03-14 17:31:00 · 741 阅读 · 0 评论 -
常用数学/算术 (自定义/系统)函数【学习笔记】
定义:头文件:(C++)或 (C)。功能:计算整数的绝对值。参数:整数( 类型)。返回值:参数的绝对值( 类型)。定义:头文件:(C++)或 (C)。功能:计算浮点数的绝对值。参数:浮点数( 类型)。返回值:参数的绝对值( 类型)。主要区别功能:返回不大于 的最大整数(即向下取整)。参数: 类型的浮点数。返回值: 类型的结果。注意事项:虽然是返回整数,但还是double类型的,所以printf("%.0f",floor(a)); 而不是printf("%d" ,floor(a));功能:返回不小于 的最原创 2025-03-02 07:30:00 · 525 阅读 · 0 评论 -
【C++ STL】 容器详解:map 学习
/ 定义一个空的map,键为int类型,值为tring类型// 使用初始化列表初始化map// 使用另一个map初始化// 遍历 mapreturn 0;1: apple2: cherry3: banana可以看到,map自动按照 key 进行升序排序。如果需要按降序存储 key,可以使用比较函数或Lambda 表达式。3: banana2: cherry1: applemap是 C++ STL 中非常强大的数据结构,适用于键值存储、自动排序和高效查找的场景。如果对性能要求更高。原创 2025-03-12 11:33:09 · 237 阅读 · 0 评论 -
【C++ STL】 容器详解:queue 学习
/ 定义一个空的queue,存储int类型的元素// 使用另一个queue初始化// 入队q.push(10);q.push(20);q.push(30);// 访问队头元素cout << "队头: " << q.front() << endl;return 0;队头: 10queue是 C++ STL 中的先进先出顺序容器,适用于任务管理、数据缓冲和 BFS等场景。如果需要按照优先级出队,可以使用,如果需要两端操作,可以使用deque。原创 2025-03-12 14:24:57 · 338 阅读 · 0 评论 -
【C++ STL】 容器详解:priority_queue 学习
/T:存储的元素类型。//Container:底层容器类型,默认为vector<T>。//Compare:比较函数对象类型,默认为less<T>,即最大堆。定义一个存储整数的最大堆:定义一个存储整数的最小堆:// 插入元素// 访问队头(最大值)cout << "队头: " << pq.top() << endl;return 0;队头: 30可以看到,最大元素优先出队。默认情况下,是大顶堆,如果需要小顶堆(最小值优先),可以使用greater<>如果需要。原创 2025-03-12 15:03:42 · 682 阅读 · 0 评论 -
【C++ STL】 容器详解:stack 学习
/T:存储的元素类型。//Container:底层容器类型,默认为deque<T>//定义一个存储整数的栈:// 入栈s.push(10);s.push(20);s.push(30);// 访问栈顶元素cout << "栈顶元素: " << s.top() << endl;return 0;栈顶元素: 30可以看到,后进先出(LIFO)规则。stack是 C++ STL 中的后进先出(LIFO)容器,适用于递归调用、括号匹配、表达式求值等场景。其操作简单高效,适合管理。原创 2025-03-12 15:13:54 · 341 阅读 · 0 评论 -
【C++ STL】 容器详解:pair 学习
/ 默认构造函数// 带参数的构造函数// 使用make_pair函数//auto 自动识别类型pair<int, string>#include <utility> // 包含 pairreturn 0;pair是 C++ STL 中存储两个相关值的简单工具,可广泛用于映射、排序、返回多个值等场景。掌握pair及其 STL 结合使用方式,可以提高代码的简洁性和可读性!pair最常见的用途是存储键值对。例如,在map和中,每个元素都是一个pair,其中first是键,原创 2025-03-12 15:30:12 · 432 阅读 · 0 评论 -
字符串 反转函数reverse() 的错误用法
reverse是一个原地修改的函数,返回值是void,不能直接用于比较,也不能用于赋值。reverse是标准库中的一个函数,但它是一个原地修改的函数,即它会直接修改传入的迭代器范围内的元素,而不是返回一个新的字符串。因此,会直接反转s的内容,而不是返回一个新的反转后的字符串。代码中试图将reverse的返回值赋值给s1,但reverse的返回值是void,所以这行代码会编译失败。原创 2025-03-09 17:40:56 · 228 阅读 · 0 评论 -
【C++ string】学习笔记
C++的string类学习原创 2025-01-03 17:04:03 · 181 阅读 · 0 评论 -
【C++STL】unordered_map学习
是 C++11 标准引入的,定义在头文件中。//Key:键的类型。//T:值的类型。// 构造一个key为string类型,value为int类型的 空容器// 拷贝构造同类型容器um1的复制品// 使用迭代器拷贝构造um1容器某段区间的复制品unordered_map 是 C++ STL 中的一个非常有用的容器,适用于需要通过键进行快速查找、插入和删除操作的场景。它内部使用哈希表实现,提供了 O(1) 时间复杂度的查找和插入操作。使用 unordered_map 时需要注意,它是无序。原创 2025-01-01 18:24:30 · 1122 阅读 · 1 评论 -
【C++ STL】vector 学习
C++模板库中vector的笔记详解原创 2024-12-29 20:39:18 · 720 阅读 · 0 评论