线段树
风萧萧兮易水寒丶
985软件工程本科在读
展开
-
洛谷—P3870 开关(线段树入门)
此处应该注意lazy的维护,即lazy的值应该是在1-0之间翻转的,其他没问题代码:#include<bits/stdc++.h>using namespace std;const int maxn=100010;#define ll long longll sum[maxn<<2],tag[maxn<<2];void pushdown(int ...原创 2020-03-19 21:28:17 · 160 阅读 · 0 评论 -
洛谷—P4145 上帝造题的七分钟2(线段树)
#include<bits/stdc++.h>using namespace std;const int maxn=100010;#define ll long longlong long sum[maxn<<2],arr[maxn],m[maxn<<2];void pushup(ll p,ll l,ll r){ sum[p]=sum[p<...原创 2020-03-18 17:14:22 · 139 阅读 · 0 评论 -
洛谷—P2253 好一个一中腰鼓(线段树区间维护)
解题思路:建立线段树,维护线段树每个区间的从左开始最大序列、从右开始最大序列、最大序列#include<bits/stdc++.h>using namespace std;const int maxn=20010;int lsum[maxn<<2],rsum[maxn<<2],peo[maxn],sum[maxn<<2];void bu...原创 2020-03-18 16:00:45 · 100 阅读 · 0 评论 -
(模板)线段树
#include<bits/stdc++.h>using namespace std;const int maxn=1e5+5;int dat[maxn<<2],cov[maxn<<2];int a[maxn];void inline pushup(int p){ dat[p]=dat[p<<1]+dat[p<<1|1];}...原创 2020-03-17 23:35:52 · 71 阅读 · 0 评论