随笔分类 -  数据结构 -- 主席树

摘要:【BZOJ4012】开店(主席树) 题面 Description 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到 人生哲学。最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱。这样的 想法当然非常好啦,但是她们也发现她们面临着一个问题,那就是店开在哪里,面 向什么样的人群。 阅读全文
posted @ 2018-01-06 11:30 小蒟蒻yyb 阅读(384) 评论(1) 推荐(0) 编辑
摘要:【BZOJ1926】粟粟的书架(主席树,前缀和) 题面 Description 幸福幼儿园 B29 班的粟粟是一个聪明机灵、乖巧可爱的小朋友,她的爱好是画画和读书,尤其喜欢 Thomas H. Co rmen 的文章。粟粟家中有一个 R行C 列的巨型书架,书架的每一个位置都摆有一本书,上数第i 行、 阅读全文
posted @ 2018-01-03 17:01 小蒟蒻yyb 阅读(311) 评论(0) 推荐(0) 编辑
摘要:【BZOJ4571】美味(主席树) 题面 Description 一家餐厅有 n 道菜,编号 1...n ,大家对第 i 道菜的评价值为 ai(1≤i≤n)。有 m 位顾客,第 i 位顾客的期 望值为 bi,而他的偏好值为 xi 。因此,第 i 位顾客认为第 j 道菜的美味度为 bi XOR (aj 阅读全文
posted @ 2017-12-30 11:27 小蒟蒻yyb 阅读(337) 评论(1) 推荐(0) 编辑
摘要:【BZOJ3295】动态逆序对(线段树,树状数组) 题面 Description 对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。 Input 输入第一行包含两个整数n和m,即初 阅读全文
posted @ 2017-12-27 19:55 小蒟蒻yyb 阅读(685) 评论(1) 推荐(0) 编辑
摘要:【BZOJ3923】任务查询系统(主席树) 题面 Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分。超级计算机中的 任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si秒开始,在第Ei秒后结束(第Si秒和Ei秒任务也在 阅读全文
posted @ 2017-12-27 16:13 小蒟蒻yyb 阅读(370) 评论(0) 推荐(0) 编辑
摘要:【BZOJ3123】森林(主席树,启发式合并) 题面 "神TM题面是图片" 题解 首先,求树链上第k大,请参看 "BZOJ2588 Count On a Tree" 这道题目于是增添了一个动态的合并森林的操作 所以直接启发式合并就可以啦 我第一次交直接T了 加了一堆rg就AC了。。。 神奇的regi 阅读全文
posted @ 2017-12-26 22:28 小蒟蒻yyb 阅读(529) 评论(1) 推荐(0) 编辑
摘要:【BZOJ2588】Count On a Tree(主席树) 题面 题目描述 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。 输入格式: 第 阅读全文
posted @ 2017-12-25 19:21 小蒟蒻yyb 阅读(392) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1901】【Luogu2617】Dynamic Ranking(主席树,树状数组) 题面 神TM BZOJ权限题 "Luogu真良心" 题解 如果不考虑修改 很容易的主席树区间第K大 考虑修改 那么修改操作复杂度$O(nlogn)$ 因此,将区间的和利用树状数组来维护 修改复杂度降为$O( 阅读全文
posted @ 2017-12-25 19:16 小蒟蒻yyb 阅读(438) 评论(0) 推荐(0) 编辑
摘要:"题面戳我" 题解 放一个板子在这里 用主席树维护一下每个版本就可以啦。。。 cpp include include include include include include using namespace std; define MAX 1000100 inline int read() { 阅读全文
posted @ 2017-10-02 19:37 小蒟蒻yyb 阅读(321) 评论(0) 推荐(0) 编辑
摘要:题面 具体题目不再叙述,参考 "洛谷" 题目大意,求区间[l,r]中第k大的数 题解 主席树很经典的运用 首先将值离散化之后,构建一颗值域线段树 储存区间和 0版本的线段树是空树 每次在值域上增加1就重构一颗线段树 很显然,任意两颗相邻线段树的值得和差为1 而相同的区间内要么相等要么多1 那么,我们 阅读全文
posted @ 2017-08-21 23:42 小蒟蒻yyb 阅读(450) 评论(1) 推荐(0) 编辑
摘要:题面 Description 这是一道非常直白的可持久化线段树的练习题,目的并不是虐人,而是指导你入门可持久化数据结构。 线段树有个非常经典的应用是处理RMQ问题,即区间最大/最小值询问问题。现在我们把这个问题可持久化一下: Q k l r 查询数列在第k个版本时,区间[l, r]上的最大值 M k 阅读全文
posted @ 2017-08-20 14:39 小蒟蒻yyb 阅读(348) 评论(0) 推荐(0) 编辑