![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树
andyc_03
这个作者很懒,什么都没留下…
展开
-
【线段树】P2894 [USACO08FEB]Hotel G
维护线段树上最长连续子段 代码 #include<bits/stdc++.h> using namespace std; const int maxn=200005; int n,m; struct tree{ int ml,mr,sum,lz; }tr[maxn]; void pushup(int now,int l,int r) { tr[now].sum=max(tr[now<<1].mr+tr[now<<1|1].ml,max(tr[now&..原创 2020-08-07 12:37:44 · 115 阅读 · 0 评论 -
【线段树】P1531 I Hate It
单点修改,区间查询最大值的模板 代码 #include<bits/stdc++.h> using namespace std; const int maxn=2e5+5; int n,m; int a[maxn],tree[maxn<<2]; void build(int now, int l,int r) { if(l==r) { tree[now]=a[l]; return; } int mid=(l+r)>>1; build(n..原创 2020-07-30 20:10:28 · 119 阅读 · 0 评论 -
【线段树】P4588 [TJOI2018]数学计算
这道题目,看起来只给了一个数,与线段树关系不大,但是将每次的操作存起来,就相当于是点更新,段查询(乘积),这样就可以转化为线段树的问题了。 对于操作1,我们可以把对应的位置修改为相应值;操作2,把当前位置,和pos的位置改为1 并维护线段树即可 代码 #include<bits/stdc++.h> using namespace std; const int maxn=100000; int t,q,mod; long long mul[maxn<<2]; voi..原创 2020-07-30 19:53:00 · 124 阅读 · 0 评论 -
【线段树】P3373 【模板】线段树 2
模板复习 #include<bits/stdc++.h> using namespace std; long long c[500010]; long long p; struct sgt{ long long sum[2000010]; long long addv[2000010]; long long mulv[2000010]; void build(int o,int l,int r){ addv[o]=0; mulv原创 2020-07-29 19:13:31 · 148 阅读 · 0 评论