题意:原题在这 给定一个数列,进行两种操作: 1.将某个区间每一个数+x 2.求区间和 思路: 只有一点:注意开long long 代码: #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include ...
                            
                            
                                分类:
其他好文   时间:
2018-09-09 19:57:56   
                                阅读次数:
170
                             
                    
                        
                            
                            
                                    题目传送门 或者 另一个传送门 询问区间和都好说。但是开方?? 其实是这样的,一个数(1e9)以内连续开方6次就会变成1,于是我们就可在开方操作上进行暴力修改。暴力修改的意思其实也就是找到叶子节点进行修改,一步一步向上反,也就把区间操作解决了。 为了防止发生区间已经都为1了我们还傻傻开方的情况,可以 ...
                            
                            
                                分类:
其他好文   时间:
2018-08-29 21:21:16   
                                阅读次数:
157
                             
                    
                        
                            
                            
                                链接:HDU - 3415 题意:给出一个包含 n 个数的环,求满足长度大于 0 小于等于 k 的最大区间和。 题解:将数组加倍,形成环。求一个前缀和sum。枚举每一个sum[i],以 i 结尾的最大值就是 sum[i] - min(sum[i - k],……,sum[i - 1]),这个最小值用单 ...
                            
                            
                                分类:
其他好文   时间:
2018-08-26 18:24:53   
                                阅读次数:
149
                             
                    
                        
                            
                            
                                写了几道题,对线段树的概念有了一定的认识,这里总结下我写的习惯,方便以后完善及复习。 线段树所用的函数: 因为初学线段树,理解有限,这个总结我想一直完善下去。 A - 敌兵布阵 单点更新,查询区间和。 1 #include <iostream> 2 #include <cstdio> 3 #incl ...
                            
                            
                                分类:
其他好文   时间:
2018-08-23 00:28:55   
                                阅读次数:
163
                             
                    
                        
                            
                            
                                分块维护一个区间和 然后记得更新的时候左边角块的tag不要打错到右边角块 ...
                            
                            
                                分类:
其他好文   时间:
2018-08-20 20:15:06   
                                阅读次数:
156
                             
                    
                        
                            
                            
                                    嘟嘟嘟 这一看都知道,肯定是线段树,只不过这个稍微有些复杂…… 首先对于操作0和1都是很好办的,比较简单的区间修改。然后查询区间多少个1,就是区间和,也好办。 至于查询连续个1,做过酒店的都知道怎么办,维护一个imax[now](imax是interval's max,不是电影……):区间连续的1是 ...
                            
                            
                                分类:
其他好文   时间:
2018-08-19 22:41:11   
                                阅读次数:
222
                             
                    
                        
                            
                            
                                    题面 "戳这里" 简要题解 做法一 因为所有数的和才100w,所以我们可以直接求出所有区间和。 直接把前缀和存到一个权值数组,再倒着存一遍,大力卷积一波。 这样做在bzoj目前还过不了,但是luogu开O2,最慢的点才500ms左右。 ...
                            
                            
                                分类:
其他好文   时间:
2018-08-19 18:28:12   
                                阅读次数:
152
                             
                    
                        
                            
                            
                                    问题 M: 区间和 题目描述 给定一数列,规定有两种操作,一是修改某个元素,二是求区间的连续和。 输入 输入数据第一行包含两个正整数n,m(n<=100000,m<=500000),以下是m行,每行有三个正整数k,a,b(k=0或1, a,b<=n).k=0时表示将a处数字加上b,k=1时表示询问区 ...
                            
                            
                                分类:
其他好文   时间:
2018-08-17 23:24:37   
                                阅读次数:
231
                             
                    
                        
                            
                            
                                    题目链接 题意: 给定一个有$N$个车位的停车场(都在一条直线上),现在有有两种操作 $1.x $ 要停连续的停$x$辆车,输出第一辆车停的位置(尽量靠前),不能就输出$0$; $2.x,d$ 从x位置开始开走连续的$d$辆车。 思路: 一个线段树区间和问题,而且满足区间可加性,就要用到区间合并。 ...
                            
                            
                                分类:
其他好文   时间:
2018-08-16 00:51:13   
                                阅读次数:
175
                             
                    
                        
                            
                            
                                点分治详解 一.概念 ? 是处理树上路径的一个极好的方法。如果你需要大规模的处理一些树上路径的问题时,点分治是一个不错的选择。 二.具体思路 ? 大多数同学的暴力做法都是对于每一个点对(u,v) 进行dfs来求解。但其实利用分治这一种算法,可以大大减少搜索的时间复杂度。 ? 对于一个序列上的区间和等 ...
                            
                            
                                分类:
其他好文   时间:
2018-08-12 22:22:13   
                                阅读次数:
201