摘要:
题目大意:每个点有一个放置守卫的代价,同时每个点放置守卫能覆盖到的距离都为d,问覆盖所有给定点的代价是多少。 题解: 树形DP f[x][y]表示x子树中所有点都已经覆盖完,并且x还能向上覆盖y层的最小代价。g[x][y]表示x的y层及以下的所有点都已经覆盖完,还需要覆盖上面的y层的最小代价。 代码 阅读全文
摘要:
题目大意: 给定基环外向树森林,每个点有点权,一条边连接的两个点不能同时选取,问选取的点权和最大。 题解: 如果是一棵树,有一个显然树形DP。 如果是基环外向树,那么先在每棵树上DP再在环上DP。 然而这个做法比较麻烦。 于是我们断开环上的一条边,强制一个点不选,就变成了一棵树。 跑两遍树形DP即可 阅读全文