线段树--RMQ

这是带上 lazy 标记的线段树板子

int a[N];

int ls(int p){return p << 1;}
int rs(int p){return p << 1|1;}

class SegmentTree{
public:
	int tree[N << 2|1], tag[N << 2 |1];
	inline void push_up(int p){
		tree[p] = tree[ls(p)] + tree[rs(p)];
	}
	inline void add(int p, int pl, int pr, int d){
		tree[p] += (pr - pl + 1)*d;
		tag[p] += d;
	}
	inline void build(int p, int pl, int pr){
		tag[p] = 0;
		if(pl == pr){
			tree[p] = a[pl];
			return ;
		}
		int mid = (pl + pr) >> 1;
		build(ls(p), pl, mid);
		build(rs(p), mid + 1, pr);
		push_up(p);
	}
	inline void push_down(int p, int pl, int pr){
		if(tag[p]){
			int mid = (pl + pr) >> 1;
			add(ls(p), pl, mid, tag[p]);
			add(rs(p), mid + 1, pr, tag[p]);
			tag[p] = 0;
		}
	}
	inline void update(int L, int R, int p, int pl, int pr, int d){
		if(L <= pl && pr <= R){
			add(p, pl, pr, d);
			return ;
		}
		push_down(p, pl, pr);
		int mid = (pl + pr) >> 1;
		if(L <= mid){
			update(L, R, ls(p), pl, mid, d);
		}
		if(R >= mid + 1){
			update(L, R, rs(p), mid + 1, pr, d);
		}
		push_up(p);
	}
	inline int query(int L, int R, int p, int pl, int pr){
		if(L <= pl && pr <= R){
			return tree[p];
		}
		int mid = (pl + pr) >> 1;
		push_down(p, pl, pr);
		int res = 0;
		if(L <= mid){
			res += query(L, R, ls(p), pl, mid);
		}
		if(R >= mid + 1){
			res += query(L, R, rs(p), mid + 1, pr);
		}
		return res;
	}
};
SegmentTree seg;
posted @   9102700  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
  1. 1 鼓楼 赵雷
  2. 2 我们的歌 王力宏
  3. 3 老街 李荣浩
  4. 4 周杰伦
  5. 5 可惜没如果 林俊杰
  6. 6 不将就 李荣浩
  7. 7 南方姑娘 赵雷
  8. 8 南方姑娘(弹唱版) 赵雷
  9. 9 如果可以 韦礼安
  10. 10 写给黄淮 邵帅
  11. 11 我想念 汪苏泷
  12. 12 雨天 汪苏泷
  13. 13 雨天雨天 汪苏泷
  14. 14 成都 赵雷
不将就 - 李荣浩
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 黄伟文/李荣浩

作曲 : 李荣浩

编曲 : Edward Chan

吉他 : 李荣浩

贝斯 : 李荣浩

和声 : 李荣浩

鼓 : 荒井十一

弦乐 : 国际首席爱乐乐团

弦乐编写 : 李荣浩/陈迪

录音/混音室 : 一样音乐工作室

录音 : 曹飞

混音师 : 曹飞

音乐监制 : 乐视音乐

那时候 我以为爱的是生活

也算懂得 什么适合什么不可

最近还是一样努力着

配合你的性格

你的追求者 你的坎坷

我开的车

算一算 虚度了多少个年头

仿佛足够写一套错爱的春秋

如果以后 你还想为谁

浪费美好时候

眼泪只能在我的胸膛

毫无保留

互相折磨到白头

悲伤坚决不放手

开始纠缠之后

才又被人放大了自由

你的暴烈太温柔

感情又痛又享受

如果我说不吻你不罢休

谁能逼我将就

你问我 为什么顽固而专一

天下太大 总有人比你更合适

其实我觉得这样不值

可没选择方式

你一出场别人都显得不过如此

互相折磨到白头

悲伤坚决不放手

开始纠缠之后

才又被人放大了自由

你的暴烈太温柔

感情又痛又享受

如果我说不吻你不罢休

谁能逼我将就

不吻你不罢休

谁能逼我将就

互相折磨到白头

悲伤坚决不放手

开始纠缠之后

才又被人放大了自由

你的暴烈太温柔

感情又痛又享受

如果我说不吻你不罢休

谁能逼我将就

他们不过将就

点击右上角即可分享
微信分享提示