数据结构
数据结构是在计算机中存储、组织数据的方式。小到变量、数组,大到线段树、平衡树,都是数据结构。
程序运行离不开数据结构,不同的数据结构又各有优劣,能够处理的问题各不相同,而根据具体问题选取合适的数据结构,可以大大提升程序的效率。所以,学习各种各样的数据结构是很有必要的。
liamaking
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
求最小交换次数
排序的最小交换次数原创 2022-11-19 15:27:39 · 470 阅读 · 0 评论 -
ST表模板
#include <bits/stdc++.h> using namespace std; const int N = 1e5 + 100; int f[N][100]; int mn[N]; int n, m; int rmq(int l, int r) { int k = mn[r - l + 1]; return max(f[l][k], f[r - (1 << k) + 1][k]); } int main() { scanf("%d%d", &原创 2022-01-15 21:02:40 · 273 阅读 · 0 评论 -
洛谷 P3369 【模板】普通平衡树--平板电视stl大法
题目描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入 xx 数 删除 xx 数(若有多个相同的数,因只删除一个) 查询 xx 数的排名(排名定义为比当前数小的数的个数 +1+1 ) 查询排名为 xx 的数 求 xx 的前驱(前驱定义为小于 xx,且最大的数) 求 xx 的后继(后继定义为大于 xx,且最小的数) 输入格式 第一行为 nn,表示操作的个数,下面 nn 行每行有两个数 \text{opt}opt 和 xx,\text{opt}opt 表示操作的序号( 1原创 2021-12-14 18:20:06 · 888 阅读 · 1 评论 -
可持久化线段树--主席树
洛谷P3834 题目背景 这是个非常经典的可持久化权值线段树入门题——静态区间第 kk 小。 数据已经过加强,请使用可持久化权值线段树。同时请注意常数优化。 题目描述 如题,给定 nn 个整数构成的序列 aa,将对于指定的闭区间 [l, r][l,r] 查询其区间内的第 kk 小值。 输入格式 第一行包含两个整数,分别表示序列的长度 nn 和查询的个数 mm。 第二行包含 nn 个整数,第 ii 个整数表示序列的第 ii 个元素 a_ia i 。 接下来 mm 行每行包含三个整数 l, r, kl,r,原创 2021-11-17 11:25:08 · 381 阅读 · 0 评论
分享