动态开点线段树 题目暗示了区间修改,所以我们自然想到了用线段树来维护 非工作日 的天数。 然而我们再看一下数据范围,天数n的范围是$1 \le n \le 10^9$,像普通线段树一样预处理显然会爆空间。 天无绝人之路,我们看一下修改个数,$1\le q \le 3 \cdot 10^5 $, 比天 ...
分类:
其他好文 时间:
2018-11-24 21:32:39
阅读次数:
204
区间修改 区间查询 最后一场比赛前的无可救药的热身 ...
分类:
其他好文 时间:
2018-11-24 20:55:29
阅读次数:
146
题目大意: 给定树的N个结点 编号为1到N 给定N-1条边的边权。 三种操作: CHANGE k w:将第 k 条边的权值改成 w。 NEGATE x y:将x到y的路径上所有边的权值乘 -1。 QUERY x y:找出x到y的路径上所有边的最大权值。 单点更新 区间更新 区间查询 由于第二个操作是 ...
分类:
其他好文 时间:
2018-11-22 02:57:16
阅读次数:
191
题目链接:A Simple Problem with Integers 题意:N个数字,M次操作;操作分为两种,第一种将$[L,R]$区间内的每个数都加上C,第二种为求$[L,R]$区间内的数字和。 题解:线段树基本操作,区间修改和区间求和 1 #include <cstdio> 2 #define ...
分类:
其他好文 时间:
2018-11-18 22:39:21
阅读次数:
169
题目大意:维护一个长度为 N 的序列,支持区间修改、区间查询两种操作。 代码如下 cpp include using namespace std; const int maxn=1e6+10; inline int read(){ int x=0,f=1;char ch; do{ch=getchar ...
分类:
其他好文 时间:
2018-11-18 02:10:44
阅读次数:
225
Color the ball Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 29305 Accepted Submission(s): 1426 ...
分类:
其他好文 时间:
2018-11-04 00:40:40
阅读次数:
248
"题目传送门" 题目大意:维护一个序列,维护区间加等差数列,单点查询的操作。 首先我们肯定是要用线段树来维护了,按照一般的思维局限,我选择了维护序列中的值,但是区间修改的时候由于公差的存在,所以区间修改有些难搞。后来又想分别维护$k$和$d$,但是最终失败了。 正解十分巧妙,维护的是一个差分序列。如 ...
分类:
其他好文 时间:
2018-11-03 21:58:55
阅读次数:
211
树状数组 树状数组的基本用途是维护序列的前缀和,相比前缀和数组,树状数组优势在于高效率的单点修改,单点增加(前缀和数组单点修改效率比较低) 因为树状数组的思想,原理还是很好理解的,就直接讲基本算法; 1 lowbit函数 关于lowbit这个函数,可能会有点难以理解,~~但其实你不理解也没关系,把模 ...
分类:
编程语言 时间:
2018-11-02 23:54:46
阅读次数:
263
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 注意:用位运算会更快,不然超时。 ...
分类:
其他好文 时间:
2018-10-30 21:08:49
阅读次数:
153
学完了线段树的基础知识(建树,修改,查询等操作)后,来看看下面这题 注:原题链接:https://www.luogu.org/problemnew/show/P3372 读完这题,是不是有跃跃欲试的感觉? 1)查询区间和 简单 2)区间修改??? 所以,智障的我就写出了这样的代码 然后,稳稳的TLE ...
分类:
其他好文 时间:
2018-10-30 13:51:31
阅读次数:
226