数据结构
文章平均质量分 80
夹谷剑杰.睿.沙福林
这个作者很懒,什么都没留下…
展开
-
线段树总结
线段树 文章目录线段树基础板子找01串里任意区间内第一个出现的1同时实现加法和乘法?染色 基础板子 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 2e5+10; int n,m,p; int a[N],tr[N<<2], lz[N<<2]; void build(int k,int l,int r){ if(l == r) { tr[k] = a[l]原创 2021-08-04 11:16:03 · 152 阅读 · 5 评论 -
莫队复杂度+例题
复杂度分析 设块的大小为blocksize,序列总长为n,有m次询问,t次修改。 (1)l的移动:若下一个询问与当前询问在同一个块中则最多移动blocksize步。若下一个询问与当前询问不在同一块中则最多移动n步且移动n步后一定在一个块中。故最多移动O(mblocksize+n) (2)r的移动:枚举完一个块,r最多移动n次,总共有n/blocksize块,复杂度为O(nn/blocksize) (3)t的移动:我们要寻找有多少个单调段(一个单调段下来最多移动t次)。当且仅当两个询问l在同块,r也在同块时,原创 2021-07-22 22:54:40 · 449 阅读 · 3 评论