6.30

P3165机械排序
文艺平衡树进化而来的"板子"题
获得一些深刻的教训:

现象:pushdown时必须特判不能为0
原因:根节点的父亲是0,叶子的儿子也是0,pushdown到叶子节点时会改变0的tag,从而翻转整棵树
措施:将根节点的父亲命名为114514等特殊值 / pushdown时特判不能为0

现象:splay函数rotate操作前必须依次pushdown g、f、x
原因:在rotate函数中,判断x是f哪个儿子的变量k在第一行就被赋值,而第二行是pushdown,可能会改变x和f的左右关系
措施:rotate函数操作前依次pushdown g、f、x,然后给k赋值 / splay函数rotate操作前依次pushdown g、f、x

P3202弹飞绵羊
轻量化LCT板子
疑问:为什么操作节点access-splay后siz即为步数
原因:只有连实边(fa->son)的点才会计入siz, 而access-splay操作恰好完成这一要求

posted @ 2025-06-30 09:41  CT2324  阅读(25)  评论(0)    收藏  举报