摘要: pushup:t[k].max=max(t[k<<1].max,t[k<<1|1].max,t[k<<1].rmax+t[k<<1|1].lmax); 注意查询,如果所要找的区间恰好在左区间或右区间中,则直接查找。否则和pushup中一样操作。 #include<cstdio> #include<i 阅读全文
posted @ 2021-09-26 17:39 dfydn 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 区间求和+区间开平方。 对于区间开平方,暴力进行单点开平方,存一个max,如果max<=1,那么不需要开平方。 #include<cstdio> #include<iostream> #include<cmath> using namespace std; typedef long long ll; 阅读全文
posted @ 2021-09-26 15:01 dfydn 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 区间求和,单点修改,单点取模。 单点取模直接暴力取模,存一个max,如果max<mod,那么无需取模。 #include<cstdio> #include<iostream> using namespace std; const int N=100005; typedef long long ll; 阅读全文
posted @ 2021-09-26 14:40 dfydn 阅读(22) 评论(0) 推荐(0) 编辑