上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 60 下一页
摘要: 如果一棵二叉排序树的节点插入的顺序是随机的,那么这样建立的二叉排序树在大多数情况下是平衡的,可以证明,其高度期望值为 \(O( \log_2 n )\)。即使存在一些极端情况,但是这种情况发生的概率很小。而且这样建立的二叉排序树的操作很方便,不必像伸展树那样通过伸展操作来保持数的平衡,也不必像 AV 阅读全文
posted @ 2020-08-12 13:22 quanjun 阅读(260) 评论(0) 推荐(0)
摘要: 二叉排序树能够支持多种动态集合操作,它可以被用来表示有序集合,建立索引或优先队列等。因此,在信息学竞赛中,二叉排序树应用非常广泛。 作用于二叉排序树上的基本操作,其时间复杂度均与树的高度成正比,对于一棵有 \(n\) 个节点的二叉树,这些操作在最有情况下运行时间为 \(O( \log_2 n)\)。 阅读全文
posted @ 2020-08-08 20:22 quanjun 阅读(772) 评论(0) 推荐(1)
摘要: 题目链接:https://www.luogu.com.cn/problem/P1503 解题思路: 用线段树维护区间和,一开始所有的位置对应的值为 $1$,如果有一个房间被摧毁,更新为 $0$;被修复,更新为 $1$。 查询以 \(x\) 结尾和开头的最长连续 $1$,可以用二分+线段树求区间和。 阅读全文
posted @ 2020-07-29 10:52 quanjun 阅读(155) 评论(0) 推荐(0)
摘要: 首先,我么要知道:Treap=Tree+Heap。 这里: Tree指的是二叉排序树; Heap指的是堆。 所以在阅读这篇文章之前需要大家对 二叉查找树 和 堆(Heap) 有一定的认识。 Treap支持如下操作: 插入x数 删除x数(若有多个相同的数,应只删除一个) 查询x数的排名(排名定义为比当 阅读全文
posted @ 2020-07-23 13:48 quanjun 阅读(247) 评论(0) 推荐(0)
摘要: 题目大意: 给你一个长度为 \(n\) 的数组元素 \(a[1], a[2], \cdots, a[n]\)。 接下来有 \(q\) 次操作,操作只有两种类型: “1 p x” —— 更新操作:将 \(a[p]\) 更新为 \(x\); “2 L R” —— 查询操作:求区间 \([L,R]\) 范 阅读全文
posted @ 2020-07-23 11:35 quanjun 阅读(190) 评论(0) 推荐(0)
摘要: queue(队列) 定义一个名为 que 的存储 int 类型元素的队列: queue<int> que; 入队操作: que.push(a); // 其中a是一个int类型的变量 出队操作: que.pop(); 但是在队列为空时,进行出队操作会出错。所以需要先判断一下队列是否为空。 判断队列是否 阅读全文
posted @ 2020-07-18 21:36 quanjun 阅读(1366) 评论(0) 推荐(0)
摘要: 题目链接:https://www.luogu.com.cn/problem/CF311B 题目描述 小S是农场主,他养了 \(M\) 只猫,雇了 \(P\) 位饲养员。农场中有一条笔直的路,路边有 \(N\) 座山,从 $1$ 到 \(N\) 编号。第 \(i\) 座山与第 \(i-1\) 座山之间 阅读全文
posted @ 2020-07-18 12:52 quanjun 阅读(184) 评论(0) 推荐(0)
摘要: 任务安排1(小数据):https://www.luogu.com.cn/problem/P2365 任务安排2(大数据):https://www.luogu.com.cn/problem/P5785 题目描述 有 \(N\) 个任务排成一个序列在一台机器上等待执行,它们的顺序不得改变。机器会把这 \ 阅读全文
posted @ 2020-07-16 20:57 quanjun 阅读(541) 评论(0) 推荐(2)
摘要: 题目描述 给你一个 \(n\) 行 \(m\) 列( $1 \le n,m \le 100$ )的二维迷宫,一开始你在迷宫的左上角的格子 \((1,1)\) 处(我们用位置 \((x,y)\) 来表示第 \(x\) 行第 \(y\) 列),你要走到右下角的格子 \((n,m)\) 处 ,但是你是不能 阅读全文
posted @ 2020-07-05 18:34 quanjun 阅读(499) 评论(0) 推荐(0)
摘要: 题目描述 给你一个 \(n\) 行 \(m\) 列的二维迷宫,一开始你在迷宫的左上角的格子 \((1,1)\) 处(我们用位置 \((x,y)\) 来表示第 \(x\) 行第 \(y\) 列),你要走到右下角的格子 \((n,m)\) 处 ,但是你是不能随便走的, 行走的方向是有规定的:每一步你只能 阅读全文
posted @ 2020-07-05 18:25 quanjun 阅读(289) 评论(0) 推荐(0)
上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 60 下一页