摘要: 裸的LCT,关键是要怎么连边,怎么将这种弹飞关系转化成连边就行了。 那么我们可以这样连边: 一个节点i的爸爸就是i+ki。 没有i+ki那么就被弹飞了,即$i$的爸爸是虚拟节点n+1。 那么怎么求次数呢? i的深度就是次数 对于求深度,我们可以先将 弄成 ,然后通过 将`n+1 x`节点丢到一个Sp 阅读全文
posted @ 2019-01-13 16:41 babingbaboom 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 被概率冲昏的头脑~~~ 我们先将样例在图上画下来: 会发现,最大收益是: 看出什么了吗? 这不就是凸包吗? 跑一遍凸包就好了呀,这些点中,如果i号点是凸包上的点,那么它的ans就是自己(第二个点),不然的话,从上图来看,i的ans肯定和他相邻的两个是凸包边界的点有关(0节点和2节点),那么怎么求这个 阅读全文
posted @ 2019-01-13 16:39 babingbaboom 阅读(355) 评论(0) 推荐(0) 编辑
摘要: Link Cut Tree 的懒标记下传正确食用方法。 我们来逐步分析每一个操作。 1: :将u到v的路径上的点的权值都加上自然数c; 解决方法: 很显然,我们可以 split(u,v) 来提取 这一段区间,提取完了将 Splay(v),然后直接在 上打加法标记add即可。 代码: 2: :将树中原 阅读全文
posted @ 2019-01-13 16:01 babingbaboom 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 0XFF 前言&概念 Link Cut Tree 是一种用来维护动态森林连通性的数据结构,适用于动态树问题。它采用类似树链剖分的轻重边路径剖分,把树边分为实边和虚边,并用 Splay 来维护每一条实路径。 Link Cut Tree 的基本操作复杂度为均摊O(logn),但常数因子较大,一般效率会低 阅读全文
posted @ 2019-01-01 10:56 babingbaboom 阅读(655) 评论(0) 推荐(1) 编辑