LCT
L_0_Forever_LF
一个热爱OI的OIer
展开
-
BZOJ3843: ZCC loves Army
把树转成左儿子右兄弟的那种二叉树的形式 发现一个点能且仅能给他的子树传递order,询问3就变成了询问一个点到根有多少个点 对于传递message,可以给每个点定一个编号0的虚儿子,给他赋权1,就变成了询问两点间路径的权值和,注意要特判一个点是另一个点的祖先的情况,bzoj上的数据有误,不判这个才能过,hdu上的数据是对的可以去那里交 对于操作1,把某个人的一段儿子截下来,可以用n棵splay原创 2017-12-25 08:37:14 · 496 阅读 · 0 评论 -
BZOJ4764: 弹飞大爷
和弹飞绵羊类似的,那题是维护一个内向树,这题是维护若干棵基环内向树和一棵内向树同样的用LCT维护就好了 内向树可以直接维护,对于基环内向树,随便找环上一点x做根,记录他指向哪个点to[x] 对于Cut操作,不在环上可以直接断,否则断了之后要把x和to[x]连起来 对于Link操作,如果不成环同样可以直接连,否则直接把这个Link的点当作这棵基环内向树的根就行了询问的话,如果不在n+1...原创 2018-05-07 10:35:13 · 257 阅读 · 0 评论 -
BZOJ5212: [Zjoi2018]历史
一个LCT,已知每个点的Access次数,每次Access点x时,往上遇到的轻边数会产生贡献,求最大贡献和先不考虑修改我们定义轻边的父亲节点为产生这次贡献的节点 可以发现每个点产生的贡献只和其子树里相邻的Access操作是否相同有关,且他们是互相独立的 于是最大贡献和=每个点贡献的最大值的和考虑一个点贡献的最大值,设这个子树里总Access操作有siz次,几个孩子的子树和他自己的A...原创 2018-05-07 10:57:43 · 265 阅读 · 0 评论