摘要: 解题思路 这道题要求我们找到最少需要切断多少条道路,才能分离出一个恰好包含 P 个节点的子树。这是一个典型的树形动态规划问题。 关键思路: 树形结构处理:题目给出的是一棵树,我们需要递归处理每个子树。 动态规划状态定义:dp[i][j]表示以节点i为根的子树中,分离出j个节点需要切断的最少道路数。 阅读全文
posted @ 2025-06-11 21:18 CRt0729 阅读(19) 评论(0) 推荐(0)
摘要: 解题思路 这道题目要求我们为每个城市i计算以i为终点的最长路径长度。由于题目中给出的道路方向表示城市x在城市y的西面(即x→y是有向边),所以可以将城市和道路建模为一个有向无环图(DAG)。在这种情况下,最长路径问题可以通过拓扑排序结合动态规划来解决。 关键点 拓扑排序:由于图是有向无环图,可以使用 阅读全文
posted @ 2025-06-11 20:50 CRt0729 阅读(21) 评论(0) 推荐(0)
摘要: 解题思路 这道题目可以转化为在树上寻找一个连通子图,使得该子图中所有节点的美丽指数之和最大。由于题目允许通过修剪枝条(即删除边)来得到不同的子树,我们需要找到所有可能的子树中美丽指数和最大的那个。 关键点 树形DP:使用深度优先搜索(DFS)遍历树,计算以每个节点为根的子树的最大美丽指数和。 状态转 阅读全文
posted @ 2025-06-11 20:22 CRt0729 阅读(16) 评论(0) 推荐(0)
摘要: 解题思路 这道题目描述了一个矩形蛋糕的分割问题,小 W 和小 M 轮流移动蛋糕刀,将蛋糕分成两部分。小 W 希望最大化自己获得的巧克力数量,而小 M 则希望最小化小 W 获得的巧克力数量。双方都采取最优策略。 关键观察点: 巧克力位置的判定:巧克力位于坐标 $(x_i-0.5, y_i-0.5)$, 阅读全文
posted @ 2025-06-11 18:07 CRt0729 阅读(17) 评论(0) 推荐(0)