首页 > 其他分享 >HDU5293 Tree chain problem

HDU5293 Tree chain problem

时间:2023-06-15 17:55:13浏览次数:44  
标签:right chain limits sum Tree son problem HDU5293

HDU5293 Tree chain problem

Solution 1

考虑 dp。把链的信息挂在深度最浅的节点上,自下而上更新答案。

记 \(f_u\) 表示 \(u\) 子树内的最大权值和,\(S\) 表示挂在 \(u\) 上的某条链,\(son(x)\) 表示点 \(x\) 的儿子集合,\(T_u\) 表示子树 \(u\) 的点集。

则 \(f_u\) 的初始值为:

\[f_u = \sum\limits_{v \in son(u)}f_{v} \]

考虑加链的转移为:

\[\begin{aligned} f_u &= \max\left( \sum\limits_{x \in T_u, x \not\in S}f_{x} + w_S \right) \\ &= \max\left( \left(\sum\limits_{x \in S}\sum\limits_{v \in son(x)}f_{v} \right) - \sum\limits_{x \in S, x \neq u}f_{x} + w_S \right) \\ \end{aligned} \]

观察发现双重和式中的内层可以在之前的更新中处理出来,即记 \(sum_u\) 表示 \(\sum\limits_{v \in son(u)}f_{v}\)。

然后就转化成了树上单点修改 \(sum, f\) 的值,查询链的权值。

其实可以把 \(sum_v - f_v\) 看成整体在线段树上操作,然后在外面开数组维护具体值,以减小常数。

树链剖分 \(O(n\log^{2}{n})\)。

Solution 2

依然是上面的式子,自下往上更新,但考虑维护一个点到根节点的 \(sum - f\) 的权值和,修改时对子树 \(u\) 内的节点都加上 \(sum_u - f_{u}\) 的贡献,子树恰好是一个连续的 dfn 序;查询时单点查询。

以上是 \(O(n\log{n})\) 的,可以线段树维护,也可以树状数组维护。

标签:right,chain,limits,sum,Tree,son,problem,HDU5293
From: https://www.cnblogs.com/Schucking-Sattin/p/17483660.html

相关文章

  • 【每日一题】Problem 180C. Letter
    原题解决思路每一个字符以前一个字符为基准,来判断自己是upper还是lower,从而找到最少的解最开始的解决思路是,用回溯的方式来解决,即使划分区块该方法也十分耗时,因为每个字符都有两种情况,因此时间复杂度为\(O(2^n)\)将\(1\)的方式修改下,分别用\(num[i][0],num[i][1]\)来......
  • 分数相关:Farey Sequence,Stern-Brocot Tree
    FareySequence记\(n\)阶FareySequence为\(L_n\),\(L_n\)即为集合\(\{\frac{y}{x}\mid(x,y)=1\land1\leqx\leqn\}\)中的数从小到大写下来,如\(L_5=[\frac01,\frac15,\frac14,\frac13,\frac25,\frac12,\frac35,\frac23,\frac34,\frac45,\frac11]\)。......
  • 题解 ABC207F【Tree Patrolling】
    挺简单的树上背包,就是有点难写。设\({dp}_{u,i,x,y}\)表示仅考虑\(u\)的子树内,有\(i\)个节点被控制,\(x\)为节点\(u\)是否有警卫,\(y\)为节点\(u\)是否被控制。(其实所有\(x=1,y=0\)的状态都没用,但我懒得管了。)每个点\(u\)的初始值为\({dp}_{u,0,0,0}={dp}_{u,1,1......
  • 【每日一题】Problem 174B. File List
    原题解决思路纯模拟,比较文件名长度是否合规,文件格式+下一个文件名长度是否合规误区文件名的长度要和文件格式+下一个文件名的长度分开判断更新左端点和每次迭代开始先判断的方式解决该问题最后一个'.'后的文件格式需要特殊处理在循环结束后与'.'不存在的情况共同......
  • jqtreetable jquery-treeview
    jqtreetable[img]http://dl.iteye.com/upload/attachment/466717/80fc34ec-ed82-3c04-b2f4-5de688bbf990.jpg[/img]jquery-treeview[img]http://dl.iteye.com/upload/attachment/466715/3c0521cb-37e0-3fc6-8dfc-f438b48e8569.jpg[/img]......
  • unbounded knapsack problem
    DescriptionUnboundedKnapsackProblemThereare$N$kindsofitemsandaknapsackwiththecapacityof$V$,eachitemhasunlimitedpiecesavailable.Thevolumeofthe$i$-thitemis$v_i$,andvalueis$w_i$.Pleasesolvewhichitemscanbeputintothe......
  • 5、题目:Training in Creative Problem Solving: Effects on Ideation and Problem Fin
    期刊信息(1)作者:GeorgeB.Graen,StephenG.Graen(2)期刊:OrganizationalBehaviorandHumanPerformance(3)DOI:10.1016/0030-5073(82)90233-1(4)ISSN:0030-5073   研究背景创造力训练作为工业培训的一个子集,普遍面临着工业培训研究的许多问题,也面临着一些独特的问题。......
  • 【每日一题】Problem 120F. Spiders
    原题解决思路通过给定的数据,将其构建称树,取其中最大的深度进行拼接,最后得到最终结果如何获取最大的深度以每个节点作为root构建树,然后取其中最大的深度#include<bits/stdc++.h>/***@paramvec*@paramcur当前节点*@paramlast上一个访问的节点*@param......
  • RTFM、STFW 和 X-Y Problem
    如何提问艾瑞克。史蒂文.雷蒙德(EricStevenRaymond)的提问的智慧。这是一篇长文,看完需要十几分钟的时间。如果之前没有认真看过并且思考过,这十几分钟会改变你的职业生涯。这文章可能会出现一些让人不适的词语或者过时的例子,但我认为这不会影响它要表达的内容,而你需要好好琢磨作......
  • 解决 This is probably not a problem with npm. There is likely additional logging
    在执行npmrunserve运行项目的时候报错:dengzemiaodeMacBook-Pro:lianshan_vuedengzemiao$npmrunserve......npmERR!codeELIFECYCLEnpmERR!errno1npmERR!lianshan@2.0.0serve:`vue-cli-serviceserve`npmERR!Exitstatus1npmERR!npmERR!Failedatthelia......