随笔分类 - 数据结构——LCT
摘要:Description 给定一棵树,求它的最小点权覆盖集,其中允许强制某个点选或不选 Solution ddp用LCT维护 明确一个关系式:最小点权覆盖集=全集-最大点权独立集 那么n≤2000的暴力就很简单了,暴力修改,然后求最大点权独立集就好了(我在考场上就是这么写的) 关于正解,我采用的是动态
阅读全文
摘要:Description 给定一棵树,点带点权,允许修改点权,求每次修改之后树的最大独立集 Solution ddp用LCT维护 前置知识(静态树的最大独立集问题) 首先,我们要明确静态树的最大独立集的解法 定义$f[i][0/1]$表示在以$i$为根的子树中,该节点选/不选的最大权值,那么有状态转移
阅读全文
摘要:Description 给定一张无向图,边有a,b两种边权,求一条1~n的路径,使得路径上a最大值与b最大值之和尽可能小 Solution LCT维护生成树 将边按照a从小到大排序,然后顺序考虑每一条边 如果当前这条边的两个端点没有联通,那么直接在LCT上连边即可 如果当前这条边的两个端点已经连通,
阅读全文
摘要:Description 给定一张n个点,m条边的无向图,求出边权最大值和最小值差值最小的生成树 Solution LCT+并查集 按照最小生成树的思路,先将边按照边权从小到大排序,然后顺序考虑每一条边 如果当前这条边的两个端点没有连通,那么直接连通 如果两个端点已经连通,我们加上这条边会形成一个环,
阅读全文
摘要:Description 给定n个点的树,每个点有点权,维护如下操作: 将某一条链上的点的点权加或者乘一个数 将原有的一条边删除,加入一条新边,并保证操作完之后是一棵树 询问某一条链上所有点权之和 Solution LCT维护 每一个点维护如下信息:父亲,儿子,点权,子树大小,子树的点权和,翻转标记,
阅读全文