问一个线段树正确性的问题
  • 板块学术版
  • 楼主__Watcher
  • 当前回复8
  • 已保存回复8
  • 发布时间2021/8/10 07:47
  • 上次更新2023/11/4 11:21:25
查看原帖
问一个线段树正确性的问题
93041
__Watcher楼主2021/8/10 07:47

RT,该操作为区间取 max

void change(int o, int l, int r, int s, int t, pair<int,int> x) {
	if(l>=s&&r<=t) {
		if(x>c[o]) c[o]=mp[o]=x;
		mp[o]=c[o];//为什么要写这一行? 
		return;
	}
	int mid=(l+r)>>1; chuan(o, l, r);
	if(s<=mid) change(o*2, l, mid, s, t, x);
	if(t>mid) change(o*2+1, mid+1, r, s, t, x);
	c[o]=max(c[o*2], c[o*2+1]);
}

我昨晚 CF 的 D 就挂这里了……

2021/8/10 07:47
加载中...