学习笔记
Slr2002
我曾一直想要真正奋斗一番,可是堕落和慵懒已经侵蚀我很久了,已经过了一半的时间了,我,是否还有再战的希望?
展开
-
替罪羊树学习笔记
替罪羊树基于一种暴力重构的操作来保证平衡,具体来说,就是定义一个平衡因子alphaalpha ,当某个节点x的某棵子树的x.ch.size>x.size*alphax.ch.size>x.size∗alpha *时便将这棵以x为根的子树拍扁重构。替罪羊树的基本操作和普通二叉树差不多的,神奇的就在于它的拍扁重构。假如这有一棵树(你tm告诉我这是树?)虽然不知道它是咋长成这样的,但是显然这...原创 2018-02-12 17:25:32 · 954 阅读 · 1 评论 -
位运算小技巧
取出整数n在二进制下的第k位(n>>k)&1取出整数在二进制下的0~k-1位n&((1<<k)-1)把整数在二进制下表示的第k位取反n^(1<<k)对整数n在二进制下表示的第k位赋值为1n|(1<<k)对整数n在二进制下表示的第k位赋值为0n&(~(1<<k))看完之后就去虐状压吧哈哈。...原创 2018-03-07 23:34:05 · 325 阅读 · 0 评论 -
关于用LCT维护连通性的一点想法
昨天刚学了LCT,做了几道关于用LCT维护连通性的的题目,分享一下自己一点拙见。 BZOJ2049 洞穴勘测 题目大意:给定一棵树,开始时树上没有边,每次操作可以在两点之间删除或添加一条边,查询两点间是否联通。 分析:因为LCT可以提供删边和加边的操作,每次查询我们只要判断两点是否在同一颗Splay中即可。 代码: #include<iostream> #include&...原创 2018-03-17 17:06:18 · 834 阅读 · 1 评论