传送门 线段树基本操作 区间加等差数列,维护区间和. 对于每个区间维护等差数列首项和公差,易证这两个东西都是可合并的,然后使用小学奥数的知识就可以切掉这题. 代码: #include<bits/stdc++.h> #define lc (p<<1) #define rc (p<<1|1) #define mid (T[p].l+T[p].r>>1) #define N 300005 #define mod 1000000007 #define ll long…
传送门 支持区间加w(i−ql+1)2" role="presentation" style="position: relative;">w(i−ql+1)2w(i−ql+1)2,将这个式子直接展开变成区间加wi2+w(ql−1)2+2w(1−ql)i" role="presentation" style="position: relative;">wi2+w(ql−1)2+2w(1−ql)iw…
2632. [HZOI 2016] 数列操作d ★★★   输入文件:segment.in   输出文件:segment.out   简单对比时间限制:3 s   内存限制:512 MB [题目描述] 一个长度为n的序列,一开始序列数的权值都是0,有m次操作 支持两种操作: 1 L R x,给区间[L,R]内位置为pos的数加上(pos-L)*x 0 L R,查询区间[L,R]内的权值和 最终答案对109+7取模. [输入格式] 第一行两个数n,m,表示序列长度和操作次数 接下来m行,每行描述一…
传送门 线段树基本操作. 给出一个排列b,有一个初始值都为0的数组a,维护区间加1,区间统计区间∑(ai/bi)" role="presentation" style="position: relative;">(ai/bi)(ai/bi). 我们维护当前所有的ai" role="presentation" style="position: relative;">aiai%bi" ro…
传送门 线段树好题. 维护区间加,区间覆盖,区间最大,区间历史最大. 这个东西在国家集训队2016论文集之<区间最值操作与历史最值问题--杭州学军中学 吉如一>中讲的已经很详细了. 简单来说是这样的: 我们先考虑没有区间覆盖的情况,如果只有区间加的话,我们维护一个标记history" role="presentation" style="position: relative;">historyhistory_add" role=…
题目大意:给定一个数列a,你需要支持的操作:区间and,区间or,询问区间最大值 解题关键: 1.双标记线段树,注意优先级(超时) 当涉及多重标记时,定义出标记的优先级,修改操作时用优先级高(先下放)的修正优先级低(后下放)的来保证标记的正确性. 同时维护了区间and,区间or https://blog.csdn.net/PhantomAgony/article/details/78810369 #include<cstdio> #include<cstring> #include…
传送门 线段树好题 支持区间加,区间取min" role="presentation" style="position: relative;">minmin和max" role="presentation" style="position: relative;">maxmax. 维护区间和,区间最大值,区间最小值. 这题可以类比另外一道线段树 维护区间最大,次大,最小,次小,和. 每次修改的时候…
[题目描述] 一个长度为n的序列,一开始序列数的权值都是0,有m次操作 支持两种操作, 1 L R x,给区间[L,R]内,第一个数加x,第二个数加2^2⋅x,第三个数加3^2⋅x...第R-L+1个数加(R−L+1)^2⋅x 2 L R 查询区间[L,R]内的权值和 每次询问的答案对264取模 [输入格式] 第一行两个数n,m,表示序列长度和操作次数 接下来m行,每行描述一个操作,有如下两种情况: 1 L R x,给区间[L,R]内,第一个数加x,第二个数加2^2⋅x,第三个数加3^2⋅x..…
BZOJ_1858_[Scoi2010]序列操作_线段树 Description 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 4 a b 询问[a, b]区间内最多有多少个连…
2018宁夏邀请赛 L Continuous Intervals(单调栈+线段树) 传送门:https://nanti.jisuanke.com/t/41296 题意: 给一个数列A 问在数列A中有多少个区间满足,区间内数字排序后是一段连续的连续的区间 即排序后区间内的任意元素满足 \(a_{i+1}-a_i<=1\) 题解: 根据题意可知 满足题意的区间应当满足以下性质: \(max-min==num-1\) 即当前区间最大的数字减去当前区间最小的数字等于区间数字的种类数 我们枚举区间的右端点…