随笔分类 - 数据结构——树套树&结构套结构
摘要:XLII.[NOI2019] 弹跳 一眼看上去,单点向矩阵连边、最短路,这不是数据结构优化建图是什么? 想了想二维线段树优化建图,发现可以。 于是就写了,内层线段树写的还是可以压缩空间的线段树合并。 然后MLE了。 \(88\) 分代码: #include<bits/stdc++.h> using
阅读全文
摘要:XXXIII.[APIO2019]路灯 实际上本来是在刷CDQ分治的题来着的,但是CDQ分治是众所周知地抽象,所以在碰到三维数点问题时,除非卡空间,否则一律请选择树套树…… 我们可以用 set 来维护连通性。显然,若 \([l,r]\) 这一段的路灯全亮,则所有 \(a,b\in[l,r+1]\)
阅读全文
摘要:IX.[TJOI2017]不勤劳的图书管理员 我要举报……出题人语文明显不太好…… 首先,这题就是上一题的带权版。 然后,这题带了权后和上一题就不太一样了。 当你交换位置$x,y$的书后,(默认$x<y$) 位置在$x$前或在$y$后的书不受影响; 位置在$x,y$之间,且$val_z\in(val
阅读全文
摘要:VIII.CF785E Anton and Permutation 我们看一下交换以后,哪些逆序对会受到影响。 设交换了位置$(x,y)$,它们原本的值是$val_x,val_y$。不妨设$x<y$。 对于一个位置$i<x$,$x,y$在交换后仍然都排在它后面,不受影响; 对于一个位置$i>y$,$
阅读全文
摘要:VII.[ZJOI2013]K大数查询 这题常卡的我快哭了QaQ 首先,我们仍然考虑树套树。 下标树套权值树(即我们前几题的一贯做法) 我们发现,要在区间树上打上区间添加数的tag,并且用tag树的并集进行二分。 因此最终的结果就是,大区间被分割成$\log n$个小区间,但是每个小区间的$\log
阅读全文
摘要:VI.[CQOI2011]动态逆序对 这题需要支持查询前缀大于某个值的数量、后缀小于某个值的数量以及在某个地方插入值。 换句话说,我们要支持在以下标为$x$轴,权值为$y$轴的二维平面上动态删点以及询问矩形和。 如果我们把删点的时间看做$z$轴的话,那就是典型的三维偏序。 直接树套树完成。 代码(常
阅读全文
摘要:V.【模板】三维偏序(陌上花开) 树套树比CDQ分治可爱一万倍!!!数据结构什么的最可爱了!!! 那么树套树如何进行三维偏序呢? 首先,第一维直接排序掉。 第二位用树状数组处理。 第三维套上权值线段树。 具体地说,因为我们要支持任何地方的单点修改以及前缀查询,就不得不套上树状数组。 这样,树套树便能
阅读全文
摘要:IV.【模板】二逼平衡树(树套树) 树状数组套权值线段树最好了……$n\log2n$的复杂度可比$n\log3n$的什么线段树套平衡树要强一百万倍!其实是我不会写 分析一下操作: 二分出来最大的$<k$的数后直接权值线段树上查询前缀和。 就是II.Dynamic Rankings。 直接修改。 权值
阅读全文
摘要:III.CF1093E Intersection of Permutations 首先,我们如果令$c[i]$表示$b[i]$在数组$a$中出现的位置, 那么对于一次询问,答案就是$c$中下标在$[l_2,r_2]\(间的数字中,值位于\)[l_1,r_1]$间的数量。 思路1.树状数组套权值线段树
阅读全文
摘要:II.Dynamic Rankings 树状数组套权值线段树。 正经不带修的方法就是主席树(即一堆权值线段树并一起)。现在带修了,那就把这些主席树拆开,拆成$n$棵权值线段树,然后用树状数组进行单点修改以及前缀求和,复杂度$O(n\log^2n)$。 代码: #include<bits/stdc++
阅读全文
摘要:I.CF19D Points 树套树第一题。 思路1.线段树套线段树 因为内外的操作类似,很容易就能想到使用线段树套线段树,然后在线段树上二分来找到答案。 复杂度是$O(n\log^2 n)$,常数极大,因此被卡了。 代码: #include<bits/stdc++.h> using namespa
阅读全文
摘要:XXII.SP16580 QTREE7 - Query on a tree VII 它来了,它来了!LCT树套树的经典题,它来了! 虽然只是LCT套 std::multiset 而已 这题具体过程同QTREE6,不再赘述。唯一有区别的是,这题需要维护的是虚子树中最大值,不具有可减性。 因此,我们采用
阅读全文
摘要:XIV.[BZOJ3159]决战 你们知道吗!把一行 #define int long long 写在了一行 int 的后面然后 debug 了一整天的崩溃你知道吗!!! 我恨不得罢免了自己! 言归正传。 从某种角度来说,这是我写的第一棵树套树!虽然是邪教般的LCT套splay 首先,除了翻转操作以
阅读全文
摘要:LXXII.[HEOI2016/TJOI2016]序列 说实话我对于这道题应该归到DP还是树套树时曾经纠结了很久 我们回忆一下正牌的LIS: 对于$\forall j<i\ \land\ a_j\leq a_i$,$f[i]$可以从$f[j]$转移过来。 现在,我们设$mx_i,mn_i$分别表示位
阅读全文

浙公网安备 33010602011771号