求助一句代码
查看原帖
求助一句代码
1024338
Le0Chan楼主2023/9/21 18:50

rt,使用 fhq-treap 时,pushup 函数中

void pushup(int p){
	t[p].si=t[t[p].ch[0]].si+t[t[p].ch[1]].si+1;
	t[p].maxn=t[p].val;
	if(t[p].ch[0]){
		t[p].maxn=max(t[p].maxn,t[t[p].ch[0]].maxn);
	}
	if(t[p].ch[1]){
		t[p].maxn=max(t[p].maxn,t[t[p].ch[1]].maxn);
	}
}
t[p].maxn=t[p].val;

这句为什么是必要的?

我认为不必要的原因是 maxnmaxn 和 valval 总是同时更新的,但是改了直接爆零。

其余代码与第一篇题解类似。

2023/9/21 18:50
加载中...