随笔分类 -  ACM / 动态规划 / 树形dp

摘要:题目链接:最大子树和 思路 由于可以无限剪枝,所以假设以节点1为根,并删去所有美丽质数小于0的子树,又考虑到可能会出现根节点为负数,导致可能会只留下子树而把节点1为根节点的其他部分扔掉,所以需要dp数组记录,dp[i]为以节点i为根节点能得到的最大的美丽指数,贪心将节点i的子树中所有美丽指数之和小于 阅读全文
posted @ 2024-06-16 14:56 薛定谔的AC 阅读(47) 评论(0) 推荐(0)
摘要:题目链接:二叉苹果树 思路 本题使用链式向前星存储树上的边,然后DFS搜索+简单dp。 dp数组,dp[i][j]表示节点i及其子树保留k根树枝得到的最大苹果数。son数组存储当前节点的孩子节点的编号和当前节点与孩子节点之间的树枝上的苹果个数。 对于dp递推公式,我们可以对每一个节点逐个分析,对于每 阅读全文
posted @ 2024-06-13 15:12 薛定谔的AC 阅读(127) 评论(0) 推荐(0)
摘要:题目链接:没有上司的舞会 思路 这是一道树形dp的入门题,也可以用DFS+记忆化搜索来理解,要注意的地方是,输入关系时先输入的l为后输入的k的下属,所以存储边时需要注意。 在面对图论或者树的存储时通常可以使用链式向前星(如下代码中的add函数)或者STL中的vector存储边。 链式向前星和vect 阅读全文
posted @ 2024-06-13 11:06 薛定谔的AC 阅读(89) 评论(0) 推荐(0)