摘要: 前置知识:BST & Treap 模板题 1:P3369 【模板】普通平衡树; 模板题 2:P3391 【模板】文艺平衡树。 简介 Treap 是一种入门级平衡树,有旋 Treap 通过旋转操作维持其平衡。相应地,无旋 Treap 不需要通过旋转,而是利用分裂与合并操作来维持平衡。由于创始人的名字, 阅读全文
posted @ 2025-05-28 17:49 cold_jelly 阅读(32) 评论(0) 推荐(3)
摘要: 前置知识:线段树、动态开点、权值线段树。 我们现在假设有如图所示两棵线段树(省略区间信息): 合并(merge)操作就是将这两棵线段树按某种方式组合成一棵新线段树,并且所有节点权值的组合方式应一致。 首先,我们要清楚,线段树合并本质上是一个相当暴力的过程,我们直接在两棵线段树上跑 DFS,对当前节点 阅读全文
posted @ 2025-05-27 17:57 cold_jelly 阅读(17) 评论(0) 推荐(2)
摘要: 模板题:P3919 【模板】可持久化线段树 1(可持久化数组) 前置知识:线段树、动态开点。 简介 对于一个数据结构,例如普通线段树、树状数组等,我们通常维护的是经过若干次操作后该数据结构的最新状态。但对于模板题而言,如果要求我们查询该数据结构所有历史版本的信息时,就需要用到可持久化数据结构了。 何 阅读全文
posted @ 2025-05-24 12:00 cold_jelly 阅读(9) 评论(0) 推荐(2)
摘要: 平衡树有很多种,像什么 Treap、Splay、红黑树啊等等,但其中最好理解、最好入门的还是 Treap 了,而且 Treap 的常数较小,跑起来比大部分平衡树都要快。 我们观察 Treap 这个单词,发现 Treap = Tree + heap。事实上 Treap 的实现确实是基于两个基本结构—— 阅读全文
posted @ 2025-05-23 21:39 cold_jelly 阅读(36) 评论(0) 推荐(4)
摘要: 前置知识:线段树、基础解析几何知识。 本篇文章参考了 Glacial_Shine 的这篇文章,在此一并感谢。 简介 李超线段树是一种用于维护平面直角坐标系内线段关系的数据结构。 具体而言,李超线段树支持在平面直角坐标系中动态插入线段,支持快速询问给定竖线与所有线段交点的最大纵坐标。 例如,例题 P4 阅读全文
posted @ 2025-05-22 17:36 cold_jelly 阅读(27) 评论(0) 推荐(1)
摘要: 板子:P3384 【模板】重链剖分/树链剖分 建议先阅读完题面,了解几个操作后再看文章。 树链剖分的核心思想就是把树剖分成若干条链,从而将树上问题转化为序列问题,便于我们使用数据结构来维护信息、优化算法。 常见的树链剖分有重链剖分、长链剖分等,本文主要介绍重链剖分。 本文的符号表示与基本定义: \( 阅读全文
posted @ 2025-05-20 14:31 cold_jelly 阅读(36) 评论(0) 推荐(3)
摘要: 题意 给定 \(n\le 10^{18}\),规定数列 \(\{a_n\}\) 的通项公式:\(\displaystyle a_n=\sum^{n}_{i=1}i=\dfrac{n(n+1)}{2}\),以 \(\displaystyle P(a_i)=\dfrac{a_i}{\sum^{n}_{j 阅读全文
posted @ 2025-05-16 16:43 cold_jelly 阅读(18) 评论(0) 推荐(2)
摘要: 做题的时候突然发现当初 【数学】学习笔记 漏了有理数取模,但在很多概率期望题里又不会给出提示,于是总结一下,算是对笔记的一个补充吧。 有理数是啥?翻开我们的初中数学课本,发现有理数是整数和分数的总称,所以说所有的有理数 \(q\) 其实可以表示成 \(q=\dfrac{a}{b}\)(\(a,b\i 阅读全文
posted @ 2025-05-15 12:06 cold_jelly 阅读(6) 评论(0) 推荐(1)
摘要: 前几天听 zrf 讲了对拍,深知其重要性,特此写一篇笔记来巩固(维护看百合看傻的脑袋)。 相较于调试,对拍查错效果更好,因此在正式比赛中使用对拍可以降低挂分概率,是一种十分值得学习的技巧。 一般来说,在正式比赛时,对于我们会的一道题,为减少容错,我们会写两份代码:一份时间复杂度正确但不保证正确性的“ 阅读全文
posted @ 2025-05-11 21:59 cold_jelly 阅读(8) 评论(0) 推荐(2)
摘要: 思考价值的本质是什么,发现其实就是把逆序对数换了个说法嘛。所以题目其实是让我们求长度为 \(n\) 的所有排列的逆序对数总和。 直接求肯定是不行的,考虑如何快速计算答案。发现答案可以分拆为两个子问题答案的乘积:求解单个数对贡献以及数对的数量。 考虑单独计算数对 \((i,j)\) 产生的贡献。由于 阅读全文
posted @ 2025-05-09 16:48 cold_jelly 阅读(23) 评论(0) 推荐(2)