随笔分类 -  模块 / 数据结构

摘要:这个算法是很多算法的基础 前置知识:线段树基础 动态开点线段树 这个东西的思想是:结点只有在有需要的时候才被创建。 我们进行递归时如果某个节点不存在就新建一个 操作有点像 \(\text{Treap}\) 的新建操作 这样每次操作最多新建 \(\text{log}\) 个节点 空间复杂度 \(O(n 阅读全文
posted @ 2025-05-05 10:24 2025ing 阅读(16) 评论(0) 推荐(0)
摘要:# Part 1 RMQ RMQ,即区间信息维护问题 如最大值,最小值,GCD 等 RMQ 算法实现很多 具体有线段树,树状数组和 ST 表 但综合时间复杂度最好的是 ST 表 查询 O(1),预处理 O(n log n) ST 表的基础思想是二进制倍增 记录一个 ST[i][j] 数组记录一下从 阅读全文
posted @ 2025-01-22 19:38 2025ing 阅读(30) 评论(1) 推荐(0)
摘要:Question 01 [P3374 树状数组一] 模板题 Code #include<bits/stdc++.h> using namespace std; const int N=5e5+7; class Tree{ public: inline void scan(long long *_da 阅读全文
posted @ 2025-01-21 12:35 2025ing 阅读(20) 评论(0) 推荐(0)