算法-可持久化
Maxwei_wzj
AFO
展开
-
【POJ2104】K-th Number-主席树(可持久化线段树)+离散化
【POJ2104】K-th Number-主席树(可持久化线段树)+离散化原创 2017-03-14 18:43:29 · 400 阅读 · 0 评论 -
【BZOJ4137】火星商店问题(FJOI2015)-线段树分治+可持久化trie
测试地址:火星商店问题 题目大意:有nnn个商店,每个商店都有一个特殊商品,每个人在任何时间都可以买。第一天可能没有进货,有若干次询问,而之后的每天,都有一次进货和若干次询问,每次进货都是某个商店进了某个编号的货,每次询问都是询问在编号为lll到rrr的商店中,在ddd天内进的货的编号异或xxx的最大值。 做法:本题需要用到线段树分治+可持久化trie。 对于特殊商品,直接用可持久化trie...原创 2018-09-11 16:30:06 · 402 阅读 · 0 评论 -
【BZOJ3166】ALO(HEOI2013)-set+可持久化trie
测试地址:ALO 题目大意:给定一个数列AAA,每项各不相同,令一个区间的价值为:区间中的次大值与区间中某个其它元素异或起来能得到的最大值,求最大的区间价值。 做法:本题需要用到set+可持久化trie。 我们知道,如果一个元素是次大值,那么我们肯定希望找到以这个元素为次大值的极大区间(即向左右任何一边扩展都不能满足条件的区间),这样就更有机会凑出更大的价值。以这个元素为次大值,等价于区间中...原创 2018-04-25 08:45:17 · 187 阅读 · 0 评论 -
【LuoguP4137】区间mex-主席树
测试地址:区间mex 做法:本题需要用到主席树。 看到本题是离线的,很多同学想到了很显然的莫队做法,或者一些奇奇怪怪的离线做法,但实际上在线做法是有的:主席树。 考虑转换条件,我们要求最小的在一个区间中没出现过的自然数,如果把原数列看做往一个空序列中一个一个插入元素,那实际上我们找的就是在某段时间内没有被插入过的最小的元素。考虑按照权值建线段树,对于每个线段树中的区间,我们存储这个区间中最久...原创 2018-03-28 17:56:10 · 900 阅读 · 0 评论 -
【CF893F】Subtree Minimum Query-主席树
测试地址:Subtree Minimum Query 题目大意:给定一棵有根树,每个节点有一个权值,现在有若干个询问,每个询问给出x,kx,kx,k,表示询问以xxx为根的子树中,与xxx的距离不超过kkk的点中最小的权值。强制在线。 做法:本题需要用到主席树。 首先询问子树我们肯定想到将点按DFS序排序,然后每个询问就是要求点在DFS序中编号在[l,r][l,r][l,r],深度在[dep...原创 2018-03-12 22:17:06 · 391 阅读 · 0 评论 -
【NOI2010T2】超级钢琴-主席树+优先队列
【NOI2010T2】超级钢琴-主席树+优先队列原创 2017-09-11 21:58:29 · 313 阅读 · 0 评论 -
【BZOJ4103】异或运算(THUSC2015)-可持久化trie树+位运算
【BZOJ4103】异或运算(THUSC2015)-可持久化trie树+位运算原创 2017-05-18 19:34:59 · 530 阅读 · 0 评论 -
【SPOJ3267】D-query-主席树应用
【SPOJ3267】D-query-主席树应用原创 2017-03-25 18:30:41 · 471 阅读 · 0 评论 -
【ZOJ2112】Dynamic Rankings-树状数组套主席树+离散化
【ZOJ2112】Dynamic Rankings-树状数组套主席树+离散化原创 2017-03-15 18:46:13 · 589 阅读 · 0 评论 -
【HDU4348】To The Moon-主席树(可持久化线段树)区间修改+区间询问
【HDU4348】To The Moon-主席树(可持久化线段树)区间修改+区间询问原创 2017-03-15 11:28:33 · 676 阅读 · 0 评论 -
【BZOJ2741】L-分块+可持久化trie
测试地址:L 做法:本题需要用到分块+可持久化trie。 我们知道,一个连续异或和实际上就等于两个前缀异或和的异或,因此我们求出前缀异或和,转换成一个新的问题:求区间内两个数异或的最大值。这个东西直接用数据结构做不好做,而且又强制在线不能用莫队,因此考虑相似的分块。 首先对序列分块,然后对于每一块,令mx(i,j)mx(i,j)mx(i,j)表示第i+1i+1i+1块左端点到点jjj区间中最...原创 2018-09-12 16:21:16 · 285 阅读 · 0 评论