一个小问题
查看原帖
一个小问题
481527
AC_CSP楼主2023/3/3 17:27

这是第一篇题解的代码

inline void rotate(int x){
	int fnow=s[x].f,ffnow=s[fnow].f;
	pushdown(x),pushdown(fnow);
	bool w=which(x);
	s[fnow].son[w]=s[x].son[w^1];
	s[s[fnow].son[w]].f=fnow;
	s[fnow].f=x;
	s[x].f=ffnow;
	s[x].son[w^1]=fnow;
	if(ffnow){
		s[ffnow].son[s[ffnow].son[1]==fnow]=x;
	}
	update(fnow);
}

求问这里为什么先下放儿子,我感觉似乎要先下放父亲?

int fnow=s[x].f,ffnow=s[fnow].f;
pushdown(x),pushdown(fnow);
2023/3/3 17:27
加载中...