![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
树套树
文章平均质量分 77
大大说
逍遥Fau
为伊蕾娜献上心脏!
展开
-
HDU6964 I love counting (树状数组 + 01Trie)
题目链接: I love counting大致题意给定一个长度为nnn的序列, 进行mmm次询问:l r a b 询问[l,r][l, r][l,r]区间有多少种不同的数值ccc, 满足c xor a≤bc \ xor \ a \le bc xor a≤b.解题思路01Trie + 树状数组我们考虑把所有询问离线, 按照rrr从小到大排序.我们考虑到对于排序后的询问: 一旦某个数字同时在iii 和 jjj位置出现(i<j, a原创 2021-10-23 19:06:08 · 101 阅读 · 0 评论 -
Dynamic Rankings (动态主席树 / 整体二分)
题目链接: Dynamic Rankings2021.6.8 更新了区间线段树套权值线段树的解题方式, 并翻新了博客大致题意带修改的第k小数模板题.解题思路动态主席树 和 整体二分 的模板题!思路一: 树状数组 + 主席树考虑到通常的静态第k小数, 我们可以用主席树在O(mlogn)的优秀时间复杂度内求出结果. 其主体思路是在权值线段树上进行树上二分.现在考虑到有了单点修改操作, 我们如果直接在常规的主席树上进行修改, 当你修改pos位置时, 我们需要把[pos, n]区间的所有版本主席树原创 2021-06-08 11:22:40 · 456 阅读 · 1 评论 -
速度即转发 (整体二分 / 动态主席树)
题目链接: 速度即转发大致题意略解题思路整体二分 / 动态主席树考虑到对于s(x)函数, 其实是满足二分性质的. 所以我们可以考虑二分求解.我们发现我们需要维护的是, 对于每一次二分的答案mid, 我们需要知道有多少个数字比mid大, 以及他们的总和是多少. 我们可以用权值线段树 或者 两个树状数组来维护信息.整体二分做法我们直接二分值域, 每次假设mid为询问答案, 统计大于mid的位置信息, 然后判断是否满足要求即可.若满足要求, 则右区间去寻找. 反之去左区间寻找答案. 需要注意的原创 2021-05-12 22:33:49 · 74 阅读 · 0 评论 -
Luck and Love(树套树)
题目链接: Luck and Love大致题意解题思路区间线段树 套 区间线段树首先提一下这个题注意的点, H1和H2 以及 A1和A2的大小是没有指定的, 需要判断. 其次题目数据中说L的范围是[0.0, 100.0], 但是实际上好像不存在等于0的情况. 因为我用0作为未找到的值时, 最后查询判断是否为0也可以AC.原来二维线段树就是树套树啊回归正题, 题目中要求在[h1, h2] 且 [a1, a2]的区间中找到最大值, 那么我们如果任意去掉一个条件, 发现就是个RMQ. 但是由于还多了一原创 2021-05-08 08:51:12 · 124 阅读 · 0 评论 -
2020CCPC长春 The Tortoise and the Hare (树套树 / 整体二分)
题目链接: Stone Games大致题意题目背景大概是说龟兔赛跑的事情.龟兔赛跑的总路程为m, 有n个乌龟, 当兔子跑到终点的时候第i个乌龟已经跑了ai. 接下来有d天, 每天有两种事件. 事件一: 兔子拉着[l, r]区间内的乌龟去赛跑, 当他即将跑到终点后, 他会睡觉, 每一时刻他可以使得k个乌龟停留在原地, 剩下的乌龟会前进1. 兔子最终希望赢得比赛, 问最多能睡多久. 事件二: ai会变化为c.解题思路考虑到事件一, 我们发现, 如果可以睡觉的时间t, 则距离终点超过t(即: a原创 2021-04-11 16:42:11 · 232 阅读 · 0 评论 -
洛谷P3380 二逼平衡树(树套树 / 整体二分)
题目链接: 二逼平衡树大致题意读不懂就不要做这个题啦!!!解题思路思路一: 线段树套平衡树(既然题目都叫树套树了, 总得给个面子吧.)首先我们观察五个操作, 我们发现他很像平衡树的题, 用平衡树维护序列有序即可. 但是由于每次查询是是对于区间的一次查询, 因此我们应当联想到采用线段树来维护询问区间, 然后再通过平衡树来解决问题. (这里稍微啰嗦几句, 一般的线段树套平衡树, 线段树的主要作用都是把查询的区间划分开. 因此线段树的内部是不维护信息的. 每次查询时, 我们通过线段树找到查询区间, 然后原创 2021-04-08 20:58:33 · 266 阅读 · 0 评论