
数据结构和算法
文章平均质量分 70
Sunstreamy
这个作者很懒,什么都没留下…
展开
-
如何hack std::unordered_map(bushi)
这种方法不保证能100% TLE,但在某些情况下(例如针对字符串的哈希),是寻找碰撞的有效手段。这就像酒店存包,你只按房号末位存包,结果一个旅行团的所有人房号末位都相同,导致所有行李都堆在了一个柜子里,找起来就成了灾难。通过构造大量这样的键,攻击者能迫使所有数据都挤在一个桶里,形成一条长长的链表。如果哈希函数比较复杂,无法直接通过等差数列攻击,可以利用“生日悖论”的思想。对于整数键,最常见的弱点是 C++ 标准库中简单且固定的哈希函数。的解法时,我们可以通过提供一个强大的自定义哈希函数来加固。原创 2025-06-09 00:49:04 · 595 阅读 · 0 评论 -
乘法逆元笔记(C++ 算法竞赛向)
定义:若,则称x为a在模p意义下的乘法逆元,记作a⁻¹。(即a与p互质)原创 2025-04-30 12:47:20 · 360 阅读 · 0 评论 -
Dijkstra 算法入门笔记 (适用于算法竞赛初学者) - C++ 代码版
Dijkstra 算法是图论中基础且重要的单源最短路径算法,核心是贪心和松弛。掌握堆优化版本对于算法竞赛至关重要。理解原理、前提、细节,并通过 C++ 代码实践和做题来巩固。原创 2025-04-20 21:28:35 · 764 阅读 · 0 评论 -
前缀和常见用法笔记(C++)
前缀和是一种预处理技术,通过预先计算并存储数组的前缀和,可以在O(1)时间内得到任意区间的和。原创 2025-04-09 21:51:46 · 390 阅读 · 0 评论 -
位运算全面详解与实战模板(cpp)
【代码】位运算笔记。原创 2025-04-09 07:58:42 · 204 阅读 · 0 评论 -
拓扑排序笔记
拓扑排序是对有向无环图(DAG)的一种线性排序,使得对于图中的每一条有向边 (u, v),u 在排序中总是位于 v 的前面。原创 2025-04-06 16:46:07 · 162 阅读 · 0 评论 -
C++ set 容器笔记(算法竞赛向)
int x, y;原创 2025-04-01 01:16:52 · 201 阅读 · 0 评论 -
完全背包问题总结(C++实现)
设 [dp[i][j]] 表示前 [i] 种物品放入容量为 [j] 的背包中所能获得的最大价值。特性二维数组实现一维数组实现空间复杂度[O(N * V)][O(V)]代码复杂度较高较低适用场景初学者理解动态规划过程实际应用,效率优先状态转移方程。原创 2025-03-31 21:57:45 · 380 阅读 · 0 评论