题目描述 给出一棵n个点、以1为根的有根树,点有点权。要求支持如下两种操作: M x y:将点x的点权改为y; Q x:求以x为根的子树的最大连通子块和。 其中,一棵子树的最大连通子块和指的是:该子树所有子连通块的点权和中的最大值 ...
背景:czy上课讲了新知识,从未见到过,总结一下。 所谓动态dp,是在动态规划的基础上,需要维护一些修改操作的算法。 这类题目分为如下三个步骤: 都是对于常系数齐次递推问题 先不考虑修改,不考虑区间,直接列出整个区间的dp方程。这个是基础,动态dp无论如何还是dp 这一步是一般是重点 .列出转移矩阵。由于有很多修改操作,我们将数据集中在一起处理,还可以利用矩阵结合律,并且区间比较好提取, 找一段矩 ...
2018-06-02 09:33 2 758 推荐指数:
题目描述 给出一棵n个点、以1为根的有根树,点有点权。要求支持如下两种操作: M x y:将点x的点权改为y; Q x:求以x为根的子树的最大连通子块和。 其中,一棵子树的最大连通子块和指的是:该子树所有子连通块的点权和中的最大值 ...
【题目描述】 一个长为n的序列,每个元素有一个a[i],b[i],a[i]为0||1,每个点和他相邻的两个点分别有两条边,权值为cost1[i],cost2[i],对于每个区间l,r,我 ...
【动态规划】动态$DP$ (树链剖分维护&&LCT维护) 一、不带修改的树形$DP$ 有这样一道题:没有上司的舞会 我们可以很快地得出树形$DP$的转移方程,以达到$O(N)$求解 二、带修改的树形DP与矩阵乘法,树链剖分的联系 但如果带上修改 ...
浅谈线段树优化DP 本篇随笔浅谈一下线段树优化DP。 一、关于DP优化的两种方式 DP算法是大家耳熟能详的最优化算法之一。 有的时候,我们设计DP的时候,需要采取措施进行DP优化来适应题目对时间空间的要求。 一般来讲,DP的优化有两种方式:第一种是针对状态设计进行优化。比如滚动数组 ...
【BZOJ5210】最大连通子块和 Description 给出一棵n个点、以1为根的有根树,点有点权。要求支持如下两种操作: M x y:将点x的点权改为y; Q x:求以x为根的子树的最大连通子块 ...
在一些计数问题中,线段树用于维护值域(一段权值范围),这样的线段树也称为权值线段树。为了降低空间复杂度,我们可以不建出整棵线段树的结构,而是在最初只建立一个根节点,代表整个区间,当需要访问线段树的某棵子树(某个子区间)时,再建立代表这个子区间的节点。采用这种方法维护的线段树称为动态开点的线段树 ...
值域线段树每一个节点代表一个值,其他没什么区别 动态开树就是节省了没有用到节点,其中重要一点的是不需要节点是连续的(即id值是任意的,只要可以找到即可) 例题 Bzoj 4627 回转寿司 题意 给n个数问区间和在L<=sum【r】-sum【l-1】<=R区间 ...
其实在tzt版线段树的基础上稍微加一些东西就好了。我们不预先开点,每当需要用到一个点时,我们才开。空间复杂度可以优化到 m(查询)log n。 code(线段树1,其实这道题用动态开点没啥意义没啥意义,当作练习) ...