码迷,mamicode.com
首页 > 其他好文 > 详细

常见错误锦集

时间:2018-04-29 17:41:14      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:root   for   节点   color   class   lct   ide   nbsp   ota   

LCT

 

splay只有该点的父亲节点不是根节点的时候才转两次

    for(int y = fa(x); !IsRoot(x); rotate(x), y = fa(x))
        if(!IsRoot(y))//注意 
            rotate( ident(x) == ident(y) ? y : x );

 

access的时候需要将节点转到全局的根,所以循环边界为x==0

而splay的时候只要转到当前根就可以了

  access:  for(int y = 0; x; x = fa(y = x))
 splay: for(int y = fa(x); !IsRoot(x); rotate(x), y = fa(x))

 

常见错误锦集

标签:root   for   节点   color   class   lct   ide   nbsp   ota   

原文地址:https://www.cnblogs.com/zwfymqz/p/8971359.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!