线段树
文章平均质量分 60
肩上有风_
这个作者很懒,什么都没留下…
展开
-
P1637 三元上升子序列 (权值线段树+乘法原理)
题目链接:link题目大意:Erwin 最近对一种叫thair的东西巨感兴趣。在含有 n 个整数的序列a1,a2,…,ana_1,a_2,\ldots,a_na1,a2,…,an 中,三个数被称作thair当且仅当 i < j < k 且 ai<aj<aka_i<a_j<a_kai<aj<ak,求一个序列中 thair的个数。解题思路:对于三元组,首先应该想到枚举中间的元素 ,用L[ i ]记录a[ i ]左边小于a[ i ]的元素个数,用原创 2021-12-20 16:38:52 · 304 阅读 · 0 评论 -
P1276 校门外的树(增强版)(线段树)
题目链接:link题目大意:校门外马路上本来从编号 0 到 L,每一编号的位置都有一棵树。有砍树者每次从编号 A 到 B 处连续砍掉每一棵树,就连树苗也不放过(记 0 A B,含 A 和 B);幸运的是还有植树者每次从编号 C 到 D 中凡是空穴(树被砍且还没种上树苗或树苗又被砍掉)的地方都补种上树苗(记 1 C D,含 C 和 D);问最终校门外留下的树苗多少棵?植树者种上又被砍掉的树苗有多少棵?解题思路:对于第一问,留下的树苗数 = 留下的(树与树苗)总数 - 留下的(树)的总数。对于第二问,原创 2021-12-16 00:50:31 · 937 阅读 · 0 评论 -
P2023 [AHOI2009]维护序列(线段树)
题目链接:link题目大意:已知一个数列,你需要进行下面三种操作:将某区间每一个数乘上 x将某区间每一个数加上 x求出某区间每一个数的和第一行包含三个整数 n,m,p,分别表示该数列数字的个数、操作的总个数和模数。第二行包含 n 个用空格分隔的整数,其中第 i 个数字表示数列第 i 项的初始值。接下来 m 行每行包含若干个整数,表示一个操作,具体如下:操作 1: 格式:1 x y k 含义:将区间 [x,y] 内每个数乘上 k操作 2: 格式:2 x y k 含义:将区间 [x,y]原创 2021-12-14 20:53:37 · 128 阅读 · 0 评论 -
Assign the task(线段树 + DFS序)
题目链接:Assign the task(HDU - 3974)题目大意:现有一棵树,有以下操作:1 . 节点x及其所有子孙颜色都变更为k。2 . 要求你回答节点x的颜色。解题思路:对于题目要求,我们需要维护的是一棵树,我们知道树是一种树形结构而非线性结构,因此操作起来比较复杂。那么我们是否可以将树形结构转换成线性结构那,答案是肯定的。DFS序就是一种很好的方法。DFS序是将树形结构转化为线性结构的一种方式,用dfs从根节点遍历一遍这棵树,进入到x节点时有一个in时间戳,递归退出时有一个out原创 2021-11-22 15:54:28 · 258 阅读 · 0 评论