12 2022 档案
摘要:题目链接:https://www.luogu.com.cn/problem/P4146 题目大意: 支持: 区间更新(+x) 区间翻转 区间查询(最大值) 解题思路:几乎和 AcWing2437. Splay 这题一模一样。 示例程序: #include <bits/stdc++.h> using
阅读全文
摘要:题目链接:https://codeforces.com/contest/38/problem/G 题目大意: 有n个人依次排队,每个人都有两个属性值 a[i] 、c[i] ,a[i]是重要性值,数值越大越重要,c[i]是良心值。假如前i-1人已经排好队后,第i个人来排队,初始时他在队尾,如果他的a[
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/CF675D 题目大意: 个节点,权值各不相同,依次插入一棵初始为空的 BST 中。 求对于第 个插入的节点,它们的父节点的权值。 解题思路: 本题解决的最重要的思路是: 因为是 BST,所以它
阅读全文
摘要:题目大意:支持如下几个操作: 插入:INSERT p tot c1 c2 ... ctot:在第 个数后面插入连续的 个数字 删除:DELETE p tot:删除第 个数开始的连续 个数字 修改:MAKE-SAME p tot c:将第 个数开始的连续
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P3224 主要知识点是:树上启发式合并,即每次合并将小的树里面的每个点合并大大的树里面,时间复杂度 。 同时需要开并查集维护集合关系。 示例程序: #include <bits/stdc++.
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P1486 涉及操作: 插入一个点 删除左子树(先找到 的最小的点然后 splay 到根节点)(注:这里我用 表示薪资的下限) 找第 大的节点的权值(需要注意的是:某一个权值可能具有多个点)
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/CF1203F1 题目大意: 有 个任务,初始有 点体力。 完成第 个任务前至少需要 点体力,完成第 个任务会增加 的体力( 可能为负)。 任意时刻体力不能为
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P8767 鸣谢:这道题的顺利解决得到了 7KByte 大佬的大力帮助,在此再次表示感谢。 首先,我的想法是这样的: 使用一个 splay tree 来维护这些冰山的信息。 对于每次操作的 和 : 先将所有节点
阅读全文
摘要:题目链接:https://www.acwing.com/problem/content/description/2439/ 题目大意:splay 执行区间翻转 示例程序: #include <bits/stdc++.h> using namespace std; const int maxn = 1
阅读全文