【JZOJ 5484】 快乐树

来源:互联网 发布:大数据的结果展现方式 编辑:程序博客网 时间:2024/06/15 09:51

Description

给出一棵以0为根的树,从根出发,走过一些节点。 每个节点有一个得分,可能正可能负,可以重复经过节点,但是只有第一次经过会改变当前得分。 如果当前得分为负,会马上变成0.
求最大得分。
对于100%的数据,n<=1000,快乐度均为绝对值不超过1,000,000的整数。

Analysis

SB树形DP,搞了一个星期数据结构智商以下线
而且这题目故意把n开1000,说不定开100000我就会做了QAQ

O(n)

数据范围坑人的,想了N久的n^2
发现每次变成0都是将包括根的一个连通块的贡献整体变成0
那么题目相当于求,可以把包括根的一个连通块整体变成0(称连通块内的点为清零的点)之后的最大权和
这就是个简单的树形DP
设f[i]表示i没被清0,g[i]表示i被清0
600B完事了