随笔分类 - 信息学竞赛
摘要:这题我是维护一个操作树,然后在操作树上进行可持久化操作,用倍增每次寻找答案,时间复杂度$O(TlogT)$。 加上读入优化,轻松卡过,最快可以做到$O(T)$,%%% 1 #include<bits/stdc++.h> 2 using namespace std; 3 int const N=100
阅读全文
摘要:我们对最长不下降子序的单调序列进行维护,用可持久化平衡树来维护。 (ps我写的好像是主席树) 1 #include<bits/stdc++.h> 2 using namespace std; 3 int const N=500000+10; 4 int const M=N*20; 5 int rt[
阅读全文
摘要:https://loj.ac/problem/120 这是一道模板题。 您需要维护一个序列,其中需要提供以下操作: 第0个版本为空序列。修改操作不会影响被修改的版本,而总是产生一个新版本。 fhq treap 注意split和merge的时候要新建节点。 1 #include<bits/stdc++
阅读全文
摘要:Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区
阅读全文
摘要:摘自: https://www.cnblogs.com/mjtcn/p/8028926.html %大神 正文 FHQ treap 的整理 treap = tree + heap,即同时满足二叉搜索树和堆的性质。 为了使树尽可能的保证两边的大小平衡,所以有一个key值,使他满足堆得性质,来维护树的平
阅读全文
摘要:Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为小于x,且最大的数)6. 求x
阅读全文
摘要:有 m 个询问,每次询问三个区间,把三个区间中同时出现的数一个一个删掉,问最后三个区间剩下的数的个数和,询问独立。 注意这里删掉指的是一个一个删,不是把等于这个值的数直接删完, 比如三个区间是 [1,2,2,3,3,3,3] , [1,2,2,3,3,3,3] 与 [1,1,2,3,3],就一起扔掉
阅读全文

浙公网安备 33010602011771号