- 博客(37)
- 收藏
- 关注
原创 蓝桥杯C++基础算法-进制转换
这段代码实现了进制转换的功能,将一个给定的数字从一种进制转换为另一种进制。具体来说,它将一个数字从 n 进制转换为 m 进制。以下是代码的详细思路解析
2025-04-10 17:38:46
402
原创 蓝桥杯C++基础算法-最大公约数
这段代码的功能是计算两个整数的最大公约数(GCD),并处理多次查询。它使用了欧几里得算法来高效地计算最大公约数。以下是代码的详细思路解析
2025-04-02 19:22:55
360
原创 蓝桥杯C++基础算法-约数之和
这段代码的功能是计算多个整数乘积的约数之和。它通过分解每个整数的质因数,并统计每个质因数的指数,最终利用这些指数计算约数之和。以下是代码的详细思路解析
2025-04-02 16:02:55
253
原创 蓝桥杯C++基础算法-约数个数
这段代码的功能是计算多个整数的乘积的正约数个数。它通过分解每个整数的质因数,并统计每个质因数的指数,最终利用这些指数计算正约数的个数。以下是代码的详细思路解析
2025-04-02 15:46:08
243
原创 蓝桥杯C++基础算法-最短路径Floyd算法
这段代码实现了一个Floyd-Warshall算法,用于求解所有点对之间的最短路径,并处理查询。以下是代码的详细思路解析
2025-03-31 14:43:30
272
原创 蓝桥杯C++基础算法-最短路径spfa判断负环
这段代码实现了一个SPFA(Shortest Path Faster Algorithm)算法,用于检测图中是否存在负权重环。SPFA 是 Bellman-Ford 算法的一种优化,通常比 Bellman-Ford 算法更快,但在某些情况下可能会退化到与 Bellman-Ford 算法相同的复杂度。以下是代码的详细思路解析
2025-03-31 14:06:37
358
原创 蓝桥杯C++基础算法-最短路径spfa算法
这段代码实现了一个SPFA(Shortest Path Faster Algorithm)算法,用于求解单源最短路径问题。SPFA 是 Bellman-Ford 算法的一种优化,通常比 Bellman-Ford 算法更快,但在某些情况下可能会退化到与 Bellman-Ford 算法相同的复杂度。以下是代码的详细思路解析
2025-03-31 13:51:15
325
原创 蓝桥杯C++基础算法-最短路径Bellman-Ford算法
这段代码实现了一个Bellman-Ford算法,用于求解单源最短路径问题,特别适用于包含负权重边的图。Bellman-Ford算法可以检测图中是否存在负权重环,并且能够处理最多 k 次中转的情况。以下是代码的详细思路解析
2025-03-30 14:08:55
252
原创 蓝桥杯C++基础算法-最短路径Dijkstra(堆优化)
这段代码实现了一个Dijkstra算法,用于求解单源最短路径问题。与之前的实现不同,这段代码使用了**优先队列(最小堆)**来优化算法,从而提高效率。以下是代码的详细思路解析
2025-03-30 13:14:13
355
原创 蓝桥杯C++基础算法-最短路径Dijkstra算法
这段代码实现了一个Dijkstra算法,用于求解单源最短路径问题。Dijkstra算法是一种经典的最短路径算法,适用于带权重的有向图或无向图,且所有边的权重均为非负数。以下是代码的详细思路解析
2025-03-30 12:41:27
161
原创 蓝桥杯C++基础算法-分解质因子
这段代码的功能是分解质因数,即将一个正整数分解为若干个质数的乘积,并输出每个质因数及其对应的指数。以下是代码的详细思路解析:
2025-03-25 10:38:14
436
原创 蓝桥杯C++基础算法-分组背包
这段代码实现了一个分组背包问题的动态规划解法。与之前的多重背包问题不同,这里的每个物品有多个不同的体积和价值组合,而不是单一的体积和价值。以下是代码的详细思路解析:
2025-03-23 18:11:06
281
原创 蓝桥杯C++基础算法-多重背包(优化)
这段代码实现了一个多重背包问题的动态规划解法,并且使用了二进制拆分(或称二进制优化)来优化物品的数量处理。这种方法可以显著减少状态转移的次数,提高算法的效率。以下是代码的详细思路解析:
2025-03-23 17:48:43
586
原创 蓝桥杯C++基础算法-多重背包
这段代码实现了一个多重背包问题的动态规划解法。多重背包问题与完全背包问题类似,但每个物品有其数量限制。以下是代码的详细思路解析:
2025-03-23 17:09:30
458
原创 蓝桥杯C++基础算法-完全背包(优化为一维)
这段代码实现了一个完全背包问题的动态规划解法,并且使用了滚动数组来优化空间复杂度。以下是代码的详细思路解析:
2025-03-23 16:32:07
437
原创 蓝桥杯C++基础算法-完全背包(优化)
这段代码实现了一个完全背包问题的动态规划解法。与0-1背包问题不同,完全背包问题中每个物品可以无限次选择。以下是代码的详细思路解析:
2025-03-23 16:23:04
351
原创 蓝桥杯C++基础算法-完全背包
这段代码实现了一个完全背包问题的动态规划解法。完全背包问题与0-1背包问题类似,但每个物品可以无限次选择。以下是代码的详细思路解析
2025-03-23 15:33:52
647
原创 蓝桥杯C++基础算法-0-1背包(优化为一维)
这段代码实现了0-1 背包问题的动态规划解法,并且使用了滚动数组来优化空间复杂度。以下是代码的详细思路解析
2025-03-23 15:07:13
619
原创 蓝桥杯C++基础算法-0-1背包
这段代码实现了一个经典的0-1 背包问题的动态规划解法。0-1 背包问题是指给定一组物品,每个物品有其体积和价值,要求在不超过背包容量的情况下,选择物品使得总价值最大。以下是代码的详细思路解析:
2025-03-23 15:02:54
421
原创 蓝桥杯C++基础算法-哈希表
这段代码实现了一个基于拉链法的哈希表,用于处理插入和查找操作。哈希表是一种高效的数据结构,特别适合处理大量数据的快速查找。以下是代码的详细思路解析
2025-03-16 16:53:59
374
原创 蓝桥杯C++基础算法-双链表
这段代码实现了一个双向链表,支持在链表的头部、尾部以及指定位置插入元素,以及删除指定位置的元素。双向链表是一种动态数据结构,每个节点包含一个值和两个指针(分别指向前一个节点和后一个节点),适合频繁的插入和删除操作。以下是代码的详细思路解析
2025-03-16 14:13:57
337
原创 蓝桥杯C++基础算法-单链表(数组模拟)
这段代码实现了一个基于单链表的数据结构,支持在头部插入、在指定位置插入以及删除指定位置的元素。以下是代码的详细思路解析
2025-03-16 11:54:11
404
原创 蓝桥杯C++基础算法-区间合并
这段代码实现了区间合并的功能。它的目的是将一组可能重叠的区间合并为一组不重叠的区间,并输出合并后的区间数量。以下是代码的详细思路解析
2025-03-14 17:48:42
354
原创 蓝桥杯C++基础算法-双指针运算
这段代码使用了双指针技术来处理字符串中的单词提取问题。双指针技术是一种常见的算法技巧,通过两个指针的配合来解决问题,通常用于处理数组或字符串。以下是对这段代码的详细解析,以及双指针技术的具体应用思路
2025-03-12 15:15:04
251
原创 蓝桥杯C++基础算法-差分
这段代码的核心思路是利用差分数组来高效处理区间更新操作,并最终恢复数组的值。差分数组是一种非常高效的数据结构,特别适合处理频繁的区间加法操作。以下是代码的详细思路解析
2025-03-11 17:58:15
902
原创 蓝桥杯C++基础算法-子矩阵的和
这段代码实现了一个二维前缀和的计算和查询功能。它的核心思想是通过预先计算一个二维前缀和数组 s,使得每次查询某个子矩阵的和时,可以在常数时间内完成。以下是代码的详细思路解析
2025-03-11 16:48:02
583
原创 蓝桥杯C++基础算法-前缀和
这段代码实现了一个基于前缀和的区间和查询功能。它的核心思想是通过预先计算一个前缀和数组 s,使得每次查询某个区间的和时,可以在常数时间内完成。以下是代码的详细思路解析
2025-03-10 20:47:50
418
原创 蓝桥杯C++基础算法-高精度除法
这段代码实现了大数除以单个整数的功能,适用于处理超出标准整数类型范围的大数。它通过将大数的每一位存储在 vector<int> 中,从高位到低位逐位进行除法运算,并处理余数。以下是代码的详细思路解析
2025-03-10 20:07:34
345
原创 蓝桥杯C++基础算法-高精度减法
这段代码实现了一个大数减法的功能,适用于处理超出标准整数类型范围的大数。它通过将大数的每一位存储在 vector<int> 中,从低位到高位逐位相减,并处理借位。以下是代码的详细思路解析
2025-03-10 18:37:08
115
原创 蓝桥杯C++基础算法-高精度加法
这段代码实现了一个大数加法的功能,适用于处理超出标准整数类型范围的大数。它通过将大数的每一位存储在 vector<int> 中,从低位到高位逐位相加,并处理进位。以下是代码的详细思路解析
2025-03-10 18:30:41
98
原创 蓝桥杯C++基础算法-归并排序
这段代码实现了一个归并排序算法,用于对一个数组进行排序。归并排序是一种分治算法,通过将数组分成两部分,分别排序后再合并,从而实现整个数组的排序。以下是代码的详细思路解析
2025-03-05 15:06:49
174
原创 蓝桥杯C++基础算法-快速排序
这段代码实现了一个快速排序算法,用于对一个数组进行排序。快速排序是一种高效的排序算法,平均时间复杂度为 O(n log n)。以下是代码的详细思路解析
2025-01-11 10:05:57
106
原创 第十五届蓝桥杯参赛感悟(大学B组 C++)
第十五届蓝桥杯于2024年4月13日开始,下面就我个人的前期准备,参赛经历,不足之处三个方面做以介绍。
2024-04-23 08:50:08
960
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人