线段树Tag:

BZOJ 2957 楼房重建

MayFlyyh | 线段树 | 2018-09-18
> 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房。每天,这片工地上的房子拆了又建、建了又拆。他经常无聊地看着窗外发呆,数自己能够看到多少栋房子。 > 为了简化问题,我们考虑这些事件发生在一个二维平面上。小A在平面上(0,0)点的位置,第i栋楼房可以用一条连接(i,0)和(i,Hi)的线段表示,其中Hi为第i栋楼房的高度。如果这栋楼房上任何一个... [阅读全文]

BZOJ 4722 由乃

MayFlyyh | 倍增, 搜索, 线段树 | 2018-08-16
> 给n个数字,保证每个数小于v。有m个操作 > 操作1.将区间l~r的数字从a[i]变成a[i]*a[i]*a[i] % v > 操作2.每次询问一个区间中是否可以选出两个下标的集合X,Y,满足: > 1.X和Y没有交集 > 2.设集合X中有一个元素是i,则其对集合X的贡献是a[i] + 1,要求集合X的元素的总贡献和集合Y的元素的总贡献 相等如果可以选出这两个集合,输出 Yuno... [阅读全文]

动态最值

MayFlyyh | 线段树 | 2018-06-16
## 动态最值 > 题目描述 > 有一个包含n个元素的数组,要求实现以下操作: > DELETE k:删除位置k上的数。右边的数往左移一个位置。 > QUERY i j:查询位置i~j上所有数的最小值和最大值。 > 例如有10个元素: > 位置 1 2 3 4 5 6 7 8 9 10 元素 1 5 2 6 7 4 9 3 1 5 > QUERY 2 8的结果为2 9。 > 依次执行DELETE 3和DELETE... [阅读全文]

BZOJ 1593[Usaco2008 Feb]Hotel 旅馆

MayFlyyh | 线段树 | 2018-06-16
> 参考样例,第一行输入n,m ,n代表有n个房间,编号为1---n,开始都为空房,m表示以下有m行操作,以下 每行先输入一个数 i ,表示一种操作: > 若i为1,表示查询房间,再输入一个数x,表示在1--n 房间中找到长度为x的连续空房,输出连续x个房间中左端的房间号,尽量让这个房间号最小,若找不到长度为x的连续空房,输出0。 > 若i为2,表示退房,... [阅读全文]

BZOJ 1858 [Scoi2010]序列操作

MayFlyyh | 线段树 | 2018-06-16
> lxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: > 0 a b 把[a, b]区间内的所有数全变成0 > 1 a b 把[a, b]区间内的所有数全变成1 > 2 a b 把[a,b]区间内的所有数全部取反,也就是说把所有的0变成1,把所有的1变成0 > 3 a b 询问[a, b]区间内总共有多少个1 > ... [阅读全文]

题解 LuoGu P1471 方差

MayFlyyh | 线段树 | 2018-02-26
# 题解 LuoGu P1471 方差 - 题目描述 蒟蒻HansBug在一本数学书里面发现了一个神奇的数列,包含N个实数。他想算算这个数列的平均数和方差。 - 输入格式: 第一行包含两个正整数N、M,分别表示数列中实数的个数和操作的个数。 - 第二行包含N个实数,其中第i个实数表示数列的第i项。 - 接下来M行,每行为一条操作,格式为以下两种之一: ... [阅读全文]

线段树学习笔记

MayFlyyh | 学习笔记, 线段树 | 2018-02-24
线段树学习笔记 已知一个数列,你需要进行下面两种操作 1.将某区间每一个数加上x 2.求出某区间每一个数的和 线段树,即是将一个整区间分解成几小区间,保存多个子区间值以便查询时节约时间的数据结构。而LazyTag的设置使在单点修改节约了时间。 L1 1-10(1) / ... [阅读全文]
Ɣ回顶部