摘要: hdu1520题意:给定一棵关系树,每个节点有个权值,子节点和父节点不能同时选,问最后能选的最大价值是多少?点u有两个状态,选 - dp[u][1],不选 - dp[u][0]设v为儿子结点,则状态转移方程为:dp[u][1] = sum(dp[v][0]) 说明:父节点选后,儿子节点都不能选dp[u][0] = sum( max(dp[v][0], dp[v][1]) ) 说明:父节点不选时,子节点可选可不选,取决于值的大小从叶子节点开始往根节点遍历,因此用dfs,在回溯阶段更新。/***树形DP**/#include#includeusingnamespacestd;#defineN... 阅读全文
posted @ 2013-10-23 00:55 byluoluo 阅读(348) 评论(0) 推荐(0) 编辑