摘要: 0 - 1背包问题 1. 问题定义 给定两个数组: volume[]:存储每个物品的体积(例如[0, 2, 3, 4, 5]) values[]:存储每个对应物品的价值(例如[0, 3, 4, 5, 6]) 一个容量为m的背包(例如8) 目标:选择一个物品子集,使得它们的总体积不超过m,且总价值最大 阅读全文
posted @ 2025-08-30 12:23 wz150432 阅读(9) 评论(0) 推荐(0)
摘要: 二分 视频讲解 1. 核心原理 二分法(Binary Search)是一种高效的查找算法,其核心原理围绕 “逐步缩小搜索范围” 展开,通过反复将搜索区间 “对半分割”,快速定位目标值。它依赖答案集合的单调性来求解最优解,是典型的 “分治思想” 应用,时间复杂度低至 \(O(log n)\),远优于线 阅读全文
posted @ 2025-08-30 12:06 wz150432 阅读(7) 评论(0) 推荐(0)
摘要: 常用C++函数 编程通常依赖可复用工具来简化任务。以下是按使用场景组织的核心函数和I/O操作的精要说明——无代码,仅关键细节。 1. 数据操作 abs(x):返回 \(x\) 的绝对值 \(x\) 属于 int ; llabs()用于 long long,fabs()用于 double swap(a 阅读全文
posted @ 2025-08-30 11:42 wz150432 阅读(5) 评论(0) 推荐(0)
摘要: 对拍 在竞赛过程中,确保正确性至关重要——特别是在优化超越暴力解法时。对拍是一种强大的技术,用于验证优化解决方案在各种输入下与可信的暴力解法行为一致,还可以获得数据借此debug。以下是实施此流程的逐步流程。 对拍的核心要素 暴力代码:直接、保证正确的实现(可能较慢,但作为"正确答案的来源") 正解 阅读全文
posted @ 2025-08-30 10:37 wz150432 阅读(7) 评论(0) 推荐(0)
摘要: Dijkstra算法 Dijkstra 算法是一种基础的图遍历和最短路径查找算法,自1956年由艾兹赫尔·戴克斯特拉(Edsger W. Dijkstra)提出以来,彻底改变了计算机科学领域。这一强大算法能高效地找到带非负边权图中从起始节点到所有其他节点的最短路径。 1. 工作原理 将结点分成两个集 阅读全文
posted @ 2025-08-30 10:10 wz150432 阅读(16) 评论(0) 推荐(0)
摘要: 三种经典排序方法 1. 三种常见排序算法解析 排序是编程的基石,选择合适的算法取决于稳定性、空间效率或速度等优先级。以下是三种广泛使用的排序方法,针对实际性能进行了优化。 算法 时间复杂度 主要优势 快速排序 平均: \(O(nlogn)\)最差: \(O(n²)\) 实际应用快;额外空间极少 归并 阅读全文
posted @ 2025-08-29 22:21 wz150432 阅读(6) 评论(0) 推荐(0)
摘要: 快速乘法与快速幂 在编程竞赛和数学计算中,处理大数经常会遇到一个关键问题:溢出。即使使用C++的long long类型(大约能存储9.2e18的值),大数相乘或计算高次幂也很容易超出这个限制。快速乘法并非传统意义上的"快速",而是为处理大数值提供了安全的替代方案。 快速乘法:通过分解实现安全计算 快 阅读全文
posted @ 2025-08-29 22:20 wz150432 阅读(7) 评论(0) 推荐(0)
摘要: 欧拉函数 1. 定义 欧拉函数 \(\phi(n)\) 统计满足 \(1 \leq k \leq n\) 且 \(\gcd(k,n)=1\) 的整数 \(k\) 的个数。 示例: \(\phi(6) = 2\)(1和5与6互质) \(\phi(7) = 6\)(1 - 6所有数都与质数7互质) 2. 阅读全文
posted @ 2025-08-29 22:20 wz150432 阅读(13) 评论(0) 推荐(0)
摘要: 欧几里得算法与扩展欧几里得算法(C++实现) 1. 欧几里得算法(最大公约数计算) 1.1 基本概念 欧几里得算法(又称辗转相除法)是一种计算两个整数最大公约数(GCD)的高效方法。它基于以下核心原理: gcd(a, b) = gcd(b, a % b) 其中 a % b 表示 a 除以 b 的余数 阅读全文
posted @ 2025-08-29 22:19 wz150432 阅读(10) 评论(0) 推荐(0)
摘要: 稀疏表(Sparse Table):通过 O(1) 查询实现高效区间查询 在竞争性编程中,我们经常需要高效地回答区间查询(例如“这个区间内的最大值是多少?”)。虽然线段树和树状数组很流行,但 稀疏表(Sparse Table)数据结构因其简洁性和速度而脱颖而出——它在 \(O(n \log n)\) 阅读全文
posted @ 2025-08-29 17:58 wz150432 阅读(8) 评论(0) 推荐(0)