这个题题意我大概解释一下,就是一开始一条直线,上面的点全是联通的,有三种操作 1.操作D把从左往右第x个村庄摧毁,然后断开两边的联通。 2.询问Q节点相联通的最长长度 3.把最后破坏的村庄重建。 这个其实也是非常典型的线段树区间合并,正好可以学一下。 我们给线段树的结点赋予5个值,l 区间左端点, ...
分类:
其他好文 时间:
2019-02-01 23:29:49
阅读次数:
187
题目链接:传送门 参考文章:传送门 题意:n个数字初始连在一条线上,有三种操作, D x表示x号被摧毁; R 表示恢复剩下的通路 Q表示查询标号为x所在的串的最长长度。 思路:线段树的区间合并。 #include<iostream> #include<cstdio> #include<cstring ...
分类:
其他好文 时间:
2018-12-31 13:08:05
阅读次数:
213
题目大意: 给定n个点 每个点都有权值 接下来给定树的n条边 第 i 个数 a[i] 表示 i+1到a[i]之间 有一条边 给定q q个询问 每次询问给出 x y 求x到y的最长上升子序列的长度 题解 https://blog.csdn.net/forever_wjs/article/details ...
分类:
其他好文 时间:
2018-11-23 14:15:03
阅读次数:
191
学习了线段树的新姿势,记录一下 参考blog:https://blog.csdn.net/sunyutian1998/article/details/79618316 query的时候m-ql+1和qr-m写成了m-l+1、r-m,wa了几发之后才找到bug 错误样例: 10 1Q 5 wrong ...
分类:
其他好文 时间:
2018-11-19 14:39:37
阅读次数:
447
题意:有n个依次编号的元素,要求维护以下两个操作: 1.询问整个数列中是否有长度>=x的连续的一段未被标记的元素,若无输出0,若有输出最小的开始编号ans并将[ans,ans+x-1]标记 2.将[x,x+y-1]其中的元素取消标记(如果有) n,m<=5e4 思路:线段树区间合并 记录从左、右边开 ...
分类:
其他好文 时间:
2018-10-27 16:08:56
阅读次数:
170
链接;http://acm.hdu.edu.cn/showproblem.php?pid=3397 题意: 给你一串01串,有5种操作 0. 区间全部变为0 1.区间全部变为1 2.区间异或 3.询问区间1的个数 4.询问区间被最长连续1的长度 思路: 这5个操作都是比较基础的线段树操作,难点在于有 ...
分类:
其他好文 时间:
2018-10-13 02:20:56
阅读次数:
219
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3911 题意: 给你一段01序列,有两个操作: 1.区间异或,2.询问区间最长的连续的1得长度 思路: 线段树区间合并,开六个数组分别表示: lsum0 区间左边界开始从左到右连续0的个数 rsum0 ...
分类:
其他好文 时间:
2018-10-12 21:19:14
阅读次数:
161
<题目链接> 题目大意: 题意:一个长度为n的线段,下面m个操作 D x 表示将单元x毁掉 R 表示修复最后毁坏的那个单元 Q x 询问这个单元以及它周围有多少个连续的单元,如果它本身已经被毁坏了就是0。 解题分析: 用线段树求指定点所在的最长连续区间,属于线段树区间合并类型的题,线段树的每个节点需 ...
分类:
其他好文 时间:
2018-09-24 00:38:20
阅读次数:
174
<题目链接> 题目大意: 给你一段序列,对其进行两种操作,一是修改某个序号的点的值;二是查询某个区间的LCIS(最长上升子序列)。 解题分析: 线段树区间合并的典型例题,用求某个区间的LCIS时,需要比较三个值,一是左区间的LCIS,二是右区间的LCIS,三是左右子区间合并的LCIS。最重要的是第三 ...
分类:
其他好文 时间:
2018-09-12 01:10:45
阅读次数:
130
题目大意:给予一个序列,两种操作 ·查询 L-R 中的最长严格递增连续子序列的长度 ·更改 LOC 的字符为X 经典的线段树区间合并,线段树种一共有三个数组 no[]当前 L到R中的最大值 ls[]从左数的最大长度 rs[]从右数的最大长度 ...
分类:
其他好文 时间:
2018-08-24 13:20:01
阅读次数:
149