随笔分类 - 图论算法-树相关-树链剖分
摘要:[GDSOI2017]中学生数据结构题(树链剖分+fhq treap) 题面 给出一棵树,支持三种操作 1. ADD:路径加 2. QUERY:路径求和 3. SHIFT:树上路径整体循环移动一位(如:原路径上的权值依次是:1,4,5,3,操作完后变成:3,1,4,5) 分析 考验数据结构功底和代码
阅读全文
摘要:动态DP学习笔记 约定: 若无特别说明,数组下标从1开始. 若无特别说明,矩阵的下标从0开始(这是为了和代码一致,而代码这样实现是为了节省内存) 在公式中,矩阵用粗斜体表示,如 若无特别说明,对于有根树上的结点,表示它儿子的集合,表示它的重儿子 对
阅读全文
摘要:[SPOJ2666][ZJOI2007]捉迷藏Query on a tree IV(树链剖分)(论文做法) 题面 实际上,捉迷藏是Query on a tree IV的简化版。但区别只是捉迷藏的边权全部为1.这里把两个题合并起来写。 给定一棵包含 N 个结点的树,每个节点要么是黑色(亮灯),要么是白
阅读全文
摘要:[GXOI/GZOI2019]旧词 (树链剖分) 题面 给定一棵 个点的有根树,节点标号 ,1号节点为根。 给定常数 给定个询问,每次询问给定,求:\(\sum_{i=1}^x \mathrm{deep}_{\mathrm{lca}(i,y)}^k \m
阅读全文
摘要:[BZOJ1576] [BZOJ3694] [USACO2009Jan] 安全路径(最短路径+树链剖分) 题面 BZOJ1576和BZOJ3694几乎一模一样,只是BZOJ3694直接给出了最短路树 给出一个n个点m条边的无向图,n个点的编号从1~n,定义源点为1。定义最短路树如下:从源点1经过边集
阅读全文
摘要:[BZOJ3626] [LNOI2014]LCA(树链剖分) 题面 给出一棵N个点的树,要求支持Q次询问,每次询问一个点z与编号为区间[l,r]内的点分别求最近公共祖先得到的最近公共祖先深度和。N, Q≤50000 分析 对于一个点i,我们把i到根节点的路径全部标记+1,然后从z往上找,第一个碰到的
阅读全文
摘要:[HDU 5293]Tree chain problem(树形dp+树链剖分) 题面 在一棵树中,给出若干条链和链的权值,求选取不相交的链使得权值和最大。 分析 考虑树形dp,dp[x]表示以x为子树的最大权值和(选的链都在i的子树中) 设sum[x]表示x的儿子的dp值和,即$\sum _{y \
阅读全文