
线段树/树状数组
wineandchord
这个作者很懒,什么都没留下…
展开
-
洛谷 P5490 【模板】扫描线
求 nnn 个矩形的面积并思路:扫描线#include<iostream>#include<cstdio>#include<algorithm>#define ls (x<<1)#define rs (x<<1|1)#define MAXN 1000010using namespace std;typedef long long ll;int n,x1,x2,y1,y2,X[MAXN<<1];struct Scan原创 2020-06-24 08:59:21 · 248 阅读 · 0 评论 -
洛谷 P3384 【模板】轻重链剖分
树链剖分模板。给一个 nnn 结点的树(连通且无环),每个结点上有一个数值,进行如下操作:结点 xxx 到结点 yyy 的最短路径上所有结点的值 +z+z+z求结点 xxx 到结点 yyy 的最短路径上的所有结点值的和将以结点 xxx 为根结点的子树中所有结点值 +z+z+z求以结点 xxx 为根结点的子树内所有结点值之和...原创 2020-04-11 11:52:18 · 214 阅读 · 0 评论 -
洛谷 P3368 【模板】树状数组 2
给一个数列,进行以下操作:某区间每个数 +x+x+x求某位置的值区间修改,单点查询。用数组 b 来存放修改产生的差分。代码如下:#include<iostream>#include<cstdio>#define MAXN 500010using namespace std;typedef long long ll;int n,m,t,x,y;ll ...原创 2020-04-04 13:38:05 · 87 阅读 · 0 评论 -
洛谷 P3374 【模板】树状数组 1
给一个数列,进行两种操作:某个数 +x+x+x求区间和和线段树1不同之处在于此题是单点修改,区间查询。树状数组写起来比线段树简单一点,代码如下:#include<iostream>#include<cstdio>#define MAXN 500010using namespace std;int n,m,a[MAXN],b[MAXN],t,x,y;i...原创 2020-04-04 13:24:35 · 105 阅读 · 0 评论 -
洛谷 P3373 【模板】线段树 2
给一个数列,进行三种操作:某区间每个数 ×x\times x×x某区间每个数 +x+x+x求区间和和线段树模板1相比,多了一个乘法操作。要先乘后加。还有注意步步取模…代码如下:#include<iostream>#include<cstdio>#define lc(p) ((p)<<1)#define rc(p) (((p)<<...原创 2020-04-04 09:43:07 · 157 阅读 · 0 评论 -
洛谷 P3372 【模板】线段树 1
已知一个数列,进行以下操作:某区间每个数 +k+k+k求区间和原创 2020-04-03 09:33:13 · 98 阅读 · 0 评论 -
HDU 4747 Mex 递推DP/线段树
Mex HDU - 4747定义 mex(S)\mathrm{mex}(S)mex(S) 为集合 SSS 中未出现的最小非负整数。给一个非负整数序列 {ai}i=1n\{a_i\}_{i=1}^n{ai}i=1n,定义 mex(L,R)\mathrm{mex}(L,R)mex(L,R) 为 aL∼aRa_L\sim a_RaL∼aR 之间未出现的最小非负整数,计算:∑1≤L≤R≤nm...原创 2020-03-29 11:17:37 · 283 阅读 · 1 评论