摘要: 正经原理 我们学过了很多平衡树,像 Splay、Treap 等,无一是用很高端的方法维持树的平衡,这不是一般人能想到的。 像分块这种优化暴力的算法就很容易想到。 不如想想如何暴力维持树平衡。 每次修改操作之后,如果「足够乱」,就将树拍扁(取中序遍历),再提起来(构建线段树式的树高平衡二叉树)。 关键 阅读全文
posted @ 2025-02-07 22:55 Reveriean 阅读(28) 评论(0) 推荐(0)
摘要: 引入 一个数列,单点修改(加),区间查询(和)。 上述问题有很多种解法,如树状数组、分块、平衡树等,今天的主题是著名的线段树。 正题 (不确保按难度升序排序,自己看着目录调顺序吧) 线段树基本原理 因为需要区间查询,所以我们希望有一些捷径能将部分的数的和提前算好,并能够直接上手用,这样可以节省不少的 阅读全文
posted @ 2025-01-29 13:17 Reveriean 阅读(64) 评论(0) 推荐(0)
摘要: 复盘 A,把所有可能的答案列举出来,最后字符串判等即可…… B,没什么难度,码完交上去 WA 3 个点。 不知道是不是精度问题,开了 long double,WA 1 个点。 调调调,发现 eps 设大了,改成 \(10^{-12}\) 过了。 C 算什么东西,随便写写就过了。 D,一眼看到数据范围 阅读全文
posted @ 2025-01-26 17:35 Reveriean 阅读(28) 评论(0) 推荐(0)
摘要: (逆天罚时局) 复盘 看 A,一眼简单题。如果先手拿到的就是 \(3\) 的倍数,则后手必胜,否则先手可以只走一步达成 \(3\) 的倍数(最开始我还想反了,导致 00:05)。 不想开 B,看 C,我相信它有更简单的解法但我 dp 也能过。 B 马上切了没什么好说的。 D 直接分析一句话题意,然后 阅读全文
posted @ 2025-01-21 09:41 Reveriean 阅读(37) 评论(0) 推荐(1)
摘要: 元方树。 下文除特殊强调外,所有图皆为无向图。 引入 割点:在图中,删除某个点后,导致图不再连通的点。 点双连通:在一张图中,取两个点 \(u\)、\(v\),无论删去哪个点(除 \(u\)、\(v\) 自身外),\(u\)、\(v\) 都能连通,我们就说 \(u\) 和 \(v\) 点双连通。 点 阅读全文
posted @ 2025-01-20 09:48 Reveriean 阅读(51) 评论(0) 推荐(1)
摘要: 假定原点为圆心。 我们只考虑点在第一象限的情况,剩下的情况同理。 因为圆心是原点,所以在圆内的点的横坐标一定在 \(r\) 之内。 枚举点的横坐标 \(x + \frac{1}{2}\),二分最大的 \(y + \frac{1}{2}\),使得点 \((x + \frac{1}{2}, y + \f 阅读全文
posted @ 2025-01-19 10:45 Reveriean 阅读(96) 评论(0) 推荐(2)
摘要: 推柿子。 \[\frac{1}{x} + \frac{1}{y} = \frac{1}{n!} \]\[\frac{x + y}{x \times y} = \frac{1}{n!} \]\[n!\times (x + y) = x \times y \]\[x \times y - n!x - n 阅读全文
posted @ 2025-01-12 22:20 Reveriean 阅读(20) 评论(0) 推荐(0)
摘要: 乱搞,永不过时。 题意 link. 题解 我们充分发扬人类智慧。 考虑到可能连锁爆炸,我们不能通过一个单纯的二分来解决问题。 考虑 \(dp\)。 记 \(f(i)\) 为第 \(i\) 个点爆炸,最远能引爆到哪个坐标小于它的点。 \(g(i)\) 为第 \(i\) 个点爆炸,最远能引爆到哪个坐标大 阅读全文
posted @ 2025-01-12 16:37 Reveriean 阅读(60) 评论(0) 推荐(0)
摘要: 引入 link。 我们可以分析出上题就是带修改的最大子段和。 遇到这种类型的题目应该想到用线段树。 实现 对于原数列,先建起一棵线段树,每个节点包含 最大前缀、最大后缀、最大字段和、区间和 信息。 当你明确一道题是线段树时,要先思考 pushup 和 pushdown 怎么写,因为剩下的都是差不多的 阅读全文
posted @ 2025-01-12 16:35 Reveriean 阅读(210) 评论(0) 推荐(0)
摘要: 分析题面,发现题目求的是是否存在一个白点被 \((1, 1)\) 和任意一个黑点围成的矩形内。 先将所有黑点按 \(x\) 坐标排序。 枚举所有的白点。 找到所有横坐标不比该白点横坐标小的所有黑点的纵坐标的最大值所属点。 如果该点的纵坐标小于该白点的纵坐标: (蓝点代表题目中的白点,红点反之) 此时 阅读全文
posted @ 2025-01-01 15:29 Reveriean 阅读(24) 评论(0) 推荐(0)