08 2022 档案
比STL还STL?——更全面的解析!
摘要:# 如何更快的使用高级数据结构 ## Part 1 :`__gnu_pbds` 库 `__gnu_pbds` 自带了封装好了的平衡树、字典树、hash等强有力的数据结构,常数还比自己写的小,效率更高 # 一、平衡树 ```cpp #define PII pair #define mp_(x, y)
[NOIP 考前备战] 线段树刷题
摘要:备战线段树 T1 AcWing .1275. 最大数 查询最大值 + 单点修改 #include <bits/stdc++.h> #define int long long using namespace std; const int N = 1e7 + 5; struct SegmentTree
UVA529 加成序列
摘要:传送门 题目分析 一道 dfs,迭代加深 我们可以很快的猜出来最终 的长度必然是小于 的。 而这种浅深度的问题正好适用于迭代加深。 之后考虑剪枝 优化搜索顺序 : 我们要让序列中的数字迅速地逼近 ,自然是要 和 从大到小枚举,且 、 排除等效冗余
块状链表
摘要:块状链表 对于线性表,可以 的访问,但是插入和删除操作是 对于链表,可以 的进行插入和删除,但是是 的访问。 于是本着分块的思想,有了块状链表 。 大概长这个样子。每个块的大小数量级在 , 块数的量级 $ O(\sq
分块
摘要:分块 分块算法实质上是一种是通过分成多块后在每块上打标记以实现快速区间修改,区间查询的一种算法。其均摊时间复杂度为 分块算法相较于各种树形数据结构,具有简便易写,方便调试等多种优点。在同等数据规模下,如 ,其时间效率并不会低太多,在考试时反而是一种有力的得分方法