随笔分类 -  数据结构 -- 线段树

摘要:【Luogu3398】仓鼠找sugar(树链剖分) 题面 题目描述 小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n。地下洞穴是一个树形结构。这一天小仓鼠打算从从他的卧室(a)到餐厅(b),而他的基友同时要从他的卧室(c)到图书馆(d)。他们都会走最短路径。现在小 阅读全文
posted @ 2017-12-02 08:43 小蒟蒻yyb 阅读(325) 评论(0) 推荐(0)
摘要:【BZOJ4196】【NOI2015】软件包管理器 题面 题目描述 Linux用户和OSX用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有 阅读全文
posted @ 2017-10-20 14:31 小蒟蒻yyb 阅读(269) 评论(0) 推荐(0)
摘要:【JSOI2008】最大数 题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。 限制:L不超过当前数列的长度。 2、 插入操作。 语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果 阅读全文
posted @ 2017-10-15 20:04 小蒟蒻yyb 阅读(196) 评论(1) 推荐(0)
摘要:【SHOI2012】魔法树 题面 BZOJ上找不到这道题目 只有洛谷上有。。 所以粘贴 "洛谷的题面" 题解 树链剖分之后直接维护线段树就可以了 树链剖分良心模板题 cpp include include include include include include using namespace 阅读全文
posted @ 2017-10-15 19:54 小蒟蒻yyb 阅读(365) 评论(1) 推荐(0)
摘要:【Luogu1937】仓配置 题面 "直接找洛谷把。。。" 题解 很明显的贪心吧 按照线段的右端点为第一关键字,左端点第二关键字排序 然后线段树维护区间最小就可以啦 cpp include include include include include include include include 阅读全文
posted @ 2017-10-15 19:48 小蒟蒻yyb 阅读(280) 评论(2) 推荐(0)
摘要:题面 "我们也要换个花样,这回提供洛谷的题面" 题解 线段树+树链剖分大水题 维护颜色段的方法很简单呀。。。 维护当前区间内的颜色段个数, 以及当前区间左端和右端的颜色, 合并的时候考虑是否要减一下就行了 至于跳LCA进行Modify的时候稍微注意一下细节 cpp include include i 阅读全文
posted @ 2017-10-15 19:41 小蒟蒻yyb 阅读(325) 评论(0) 推荐(0)
摘要:"题目链接,我是真的懒得调题目的格式。。。" 题解 树链剖分搞一下LCA 把线段树弄出来 这只是形式上的线段树 本质上是维护一段区间的一个堆 每次把堆插入节点, 询问的时候查询线段树上的堆的最大值就行了 但是在插入节点的时候 把节点插入到非当前树链剖分经过的节点中 这里要稍微处理一下。 cpp in 阅读全文
posted @ 2017-10-03 17:18 小蒟蒻yyb 阅读(1101) 评论(0) 推荐(1)
摘要:"题目链接" 题解 这不就是luogu的线段树2的板子吗。。。。 没有任何的区别。。。 上代码吧。。。 cpp include include include include include include include include include using namespace std; d 阅读全文
posted @ 2017-10-03 17:14 小蒟蒻yyb 阅读(307) 评论(2) 推荐(0)
摘要:题面 具体题目不再叙述,参考 "洛谷" 题目大意,求区间[l,r]中第k大的数 题解 主席树很经典的运用 首先将值离散化之后,构建一颗值域线段树 储存区间和 0版本的线段树是空树 每次在值域上增加1就重构一颗线段树 很显然,任意两颗相邻线段树的值得和差为1 而相同的区间内要么相等要么多1 那么,我们 阅读全文
posted @ 2017-08-21 23:42 小蒟蒻yyb 阅读(470) 评论(1) 推荐(0)
摘要:题面 Description 这是一道非常直白的可持久化线段树的练习题,目的并不是虐人,而是指导你入门可持久化数据结构。 线段树有个非常经典的应用是处理RMQ问题,即区间最大/最小值询问问题。现在我们把这个问题可持久化一下: Q k l r 查询数列在第k个版本时,区间[l, r]上的最大值 M k 阅读全文
posted @ 2017-08-20 14:39 小蒟蒻yyb 阅读(358) 评论(0) 推荐(0)
摘要:题面 C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可 阅读全文
posted @ 2017-08-14 20:42 小蒟蒻yyb 阅读(254) 评论(0) 推荐(1)
摘要:题面 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input 本题目包含多组测试,请处理到文件结束。 在每个测试的 阅读全文
posted @ 2017-07-22 22:43 小蒟蒻yyb 阅读(224) 评论(0) 推荐(0)
摘要:我写的是不完美算法!!! 题面 Description 在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要 向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。 面对海量租借教室的信息,我们自然希望编程解决这个问题。 我们需要处理接下来n天的借教 阅读全文
posted @ 2017-07-17 20:01 小蒟蒻yyb 阅读(276) 评论(0) 推荐(0)
摘要:题面 题目描述 逛逛集市,兑兑奖品,看看节目对农夫约翰来说不算什么,可是他的奶牛们非常缺乏锻炼——如果要逛完一整天的集市,他们一定会筋疲力尽的。所以为了让奶牛们也能愉快地逛集市,约翰准备让奶牛们在集市上以车代步。但是,约翰木有钱,他租来的班车只能在集市上沿直线跑一次,而且只能停靠N(1 ≤N≤200 阅读全文
posted @ 2017-07-17 19:52 小蒟蒻yyb 阅读(385) 评论(0) 推荐(0)