随笔分类 -  动态规划 树型DP

摘要:链接: http://codeforces.com/contest/274/problem/B 题意: 给出一棵树,每个点有权值,每次操作可以对一个联通子集中的点全部加1,或者全部减1,且每次操作必须包含点1,问最少通过多少次操作可以让整棵树每个点的权值变为0. 题解: 定义状态up[u],down 阅读全文
posted @ 2017-08-12 20:41 Flowersea 阅读(173) 评论(0) 推荐(0)
摘要:链接: http://codeforces.com/contest/219/problem/D 题意: 给出一棵树,但是它的边是有向边,选择一个城市,问最少调整多少条边的方向能使一个选中城市可以到达所有的点,输出最小的调整的边数,和对应的点。 题解: 定义dp0,dp1,dp三个数组 dp0[i]表 阅读全文
posted @ 2017-08-11 15:11 Flowersea 阅读(128) 评论(0) 推荐(0)
摘要:链接: http://codeforces.com/contest/338/problem/B 题意: 给出一棵树,给出感染物的感染范围,给出一些已经确定被感染的点,问感染物可能放置的点的个数。 题解: 定义状态dp[i]代表某个点到达离它最远的确定的感染点的距离。 然后我们首先dfs一遍,求得以1 阅读全文
posted @ 2017-08-10 14:17 Flowersea 阅读(184) 评论(0) 推荐(0)
摘要:链接: http://codeforces.com/contest/486/problem/D 题意: 给你一棵树,从中选一棵子树,满足 S is non-empty. S is connected. In other words, if nodes u and v are in S, then a 阅读全文
posted @ 2017-08-05 12:23 Flowersea 阅读(134) 评论(0) 推荐(0)
摘要:链接: http://codeforces.com/contest/462/problem/D 题意: 给定n个点的树, 0为根,下面n-1行表示每个点的父节点 最后一行n个数 表示每个点的颜色,0为白色,1为黑色。 把树分成若干个联通块使得每个联通块有且仅有一个黑点,问有多少种分法(结果mod1e 阅读全文
posted @ 2017-08-05 00:01 Flowersea 阅读(127) 评论(0) 推荐(0)
摘要:链接: http://poj.org/problem?id=1463 题意: 求一棵树的最小点覆盖 题解: dp[i][0]、dp[i][1]分别表示不在i结点上和在i结点上放置士兵时整个以i结点为根的子树被覆盖用到用到目标的最少数量 状态转移: 对叶子结点,有dp[i][0]=0,dp[i][1] 阅读全文
posted @ 2017-04-25 19:16 Flowersea 阅读(237) 评论(0) 推荐(0)
摘要:D. Chloe and pleasant prizes 链接: http://codeforces.com/contest/743/problem/D 题解: 对于每个以该点为子树的节点 他都有两种可能的取值 一个是dp[i],一个为 num[i] 。dp[i] 表示以该点为根的子树当中权值 最大 阅读全文
posted @ 2017-03-04 23:06 Flowersea 阅读(156) 评论(0) 推荐(0)
摘要:E. Mahmoud and a xor trip 链接: http://codeforces.com/contest/766/problem/E 题意: 给定一颗n节点的树以及每个节点的权值,另dis(u,v)表示节点u到v路径上的异或和,求不大于i的节点与i组成的有序对的距离的和(1<=i<=n 阅读全文
posted @ 2017-02-13 16:35 Flowersea 阅读(236) 评论(0) 推荐(0)