首页 > 其他分享 >[CF1172E] Nauuo and ODT

[CF1172E] Nauuo and ODT

时间:2024-08-13 10:16:54浏览次数:12  
标签:lct 子树 一个点 ODT CF1172E Nauuo

[CF1172E] Nauuo and ODT

首先考虑单次询问,将每个颜色拉出来,求解有多少条路径至少包含一个给定点。

这就是维护所有黑色连通块的大小平方和。

我们每一次删掉一个点就等价于将所有和他相连的点删掉,这样一定会 T。

可以使用类似 CF487E Tourists 的套路,将其父亲—儿子化,如果一个点是黑色,那么就向他在树上的父亲连边,那么一个点所在联通块的大小就是 lct 上的大小减去 \(1\)。

不过对于根节点还需要一个父亲,所以再多添加一个点当他的父亲即可。

维护子树 siz 就是模板,那么我们就跳到该模板题:

[BJOI2014] 大融合

我们需要用 lct 维护动态加边删边下的子树大小。

具体的讲解在这里:https://www.luogu.com.cn/article/8c1adp79

反正只要虚链改变就一定要更新 siz2

标签:lct,子树,一个点,ODT,CF1172E,Nauuo
From: https://www.cnblogs.com/xcyyyyyy/p/18356315

相关文章

  • loj6669 Nauuo and Binary Tree 题解
    https://loj.ac/p/6669赛时做法先\(n-1\)次问出深度逐层考虑。slv(vector<int>a,vector<int>b)表示在点集\(a\)中寻找\(b\)中点的父亲,询问\(a[0]\)和\(b\)中所有点的距离分治下去复杂度不会算,印象中过了树剖oiwiki二叉树:最多只有一个轻儿子类似「即时战略」......
  • 【版面有限,早投稿早录用】第三届图像处理、目标检测与跟踪国际学术会议(IPODT 2024)
    第三届图像处理、目标检测与跟踪国际学术会议(IPODT2024)将于2024年8月9-11日在中国南京召开。本次会议旨在为全球的研究人员、工程师、学者和业界专家提供一个展示和讨论图像处理、目标检测与跟踪最新进展的平台,促进这些领域的科研与技术发展。会议内容涵盖从基础研究到应用开......
  • ODT
    暴力美学,珂朵莉树!fromsortedcontainersimportSortedListclassnode:__slots__=['l','r','val']def__init__(self,l,r,val):self.l=lself.r=rself.val=valdef__lt__(self,other):......
  • 珂朵莉树ODT 模板
    构造set:structnode{intl,r;mutableintv;node(intl,intr,intv=0):l(l),r(r),v(v){}booloperator<(constnode&a)const{returnl<a.l;}};set<node>s;分裂set:autosplit(intpos){aut......
  • UVM宏解释+odt文件转doc+merge命令和difflib+python调用命令+clog2和系统函数+java添
    UVM宏解释UVM_DISABLE_AUTO_ITEM_RECORDINGhttps://blog.csdn.net/MGoop/article/details/127295965itemrecord的方法主要是用于记录事务信息的,原理是调用accept_tr,begin_tr,end_tr。似乎和波形上显示出各个事务相关。默认情况下,在调用get_next_item()和item_done()时自动......
  • P5314 [Ynoi2011] ODT
    好题,牛牛的一个套路。先树剖一下,我们可以很简单的用树状数组维护每个点的真实值。对于每个点只维护所有轻儿子的信息,对于每次询问的时候暴力加入当前点,重儿子以及父亲的信息,查询第\(k\)大,再删除信息即可。考虑链修改的影响。因为只维护的是轻儿子的信息,那么只有链上的所有轻......
  • note ODT
    (珂朵莉图压压惊)适用场景:不断区间修改、区间询问,数据随机ODT:olddrivertree(老司机树),又名珂朵莉树,是一个骗分的好东西。其内部是基于std::set实现的,而std::set是基于红黑树实现的,所以我觉得应该是算法,但是对于ODT究竟是算法还是数据结构有争议。在随机数据下跑得飞快,吊打......
  • MethodTimer.Fody 统计代码执行时间
    开发时,经常需要了解代码的执行效率,可以借助MethodTimer.Fody这个开源库。主页:https://github.com/Fody/MethodTimer1、安装Nuget包:Install-PackageMethodTimer.Fody2、AddtoFodyWeavers.xml<Weavers><MethodTimer/></Weavers>3、代码部分,在需要统计的方法上头加上......
  • 【构造,树】【Loj】Loj6669 Nauuo and Binary Tree
    2023.7.3ProblemLink交互库有一棵\(n\)个点的二叉树,你每次可以询问两个点之间的距离,猜出这棵二叉树。\(n\le3000\),询问次数上限\(30000\)。首先给你距离一定是先把每个点的深度问出来,确定一个大致的考虑顺序。然后我们开始仔细思考“距离”这个条件怎么用。发现询问两个......
  • 珂朵莉树(ODT)
    处理区间赋值问题的神器!珂朵莉树的实现非常简单(baoli),建树时把区间的左右端点和权值作为一个节点全扔到std::set(或者链表)中维护即可split:核心操作之一,将一段区间提取出来,在此之上进行一些操作assign:核心操作之二,也是降低珂朵莉树时间复杂度的重要操作,把一段区间推平赋值,......