
树形DP
漂流瓶终结者
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU 1054 Strategic Game (树形DP)
题面 题意:在一棵树中,每个节点能监管连接自身的一条边,问最小选取几个节点能监管树中所有的边 思路: 1.一个节点可分为两种状态-选取或不选取 2.若当前结点选取了,那么子节点可以选择不选取;若当前结点未选取,那么子节点一定要选取; 代码: #include<iostream> #include<cstring> #include<cstdio> ...原创 2019-05-22 21:51:25 · 167 阅读 · 0 评论 -
HDU 1520 Anniversary party (树形DP)
题面 题意:一个派对里有n个人,n个人之间有着一张上下级关系图,派对要求上级和下级不能同时出现,而每个人都有一个rating值,要求选择哪些人到场能使rating值之和最大 思路: 1.每个人有两种状态-出席或不出席 2.上级出席那么其直接对应的下级不能出席,下级出席则其直接对应的上级不能出席 代码: #include<iostream> #include<c...原创 2019-05-22 22:06:22 · 178 阅读 · 0 评论 -
HDU 1516 The more, The Better (树形DP)
题面 题意:有n个城堡形成一棵树,如果要攻克某个节点必须要先攻克其父节点。每个节点有i个宝物,最多能攻克m个城堡。问攻克哪些城堡能获得最多的宝物数量。 思路: 首先本题有两个限制: 1.必须先攻打父节点然后才能攻打子节点 2.最多只能攻克m个城堡 攻占城堡的顺序是自上而下的,但我们可以从叶子节点自下而上不断更新节点的最优值求子树的最优解,最终得到根的最优解。 #include<...原创 2019-05-23 11:13:11 · 216 阅读 · 0 评论 -
HDU 4169 Wealthy Family (树形DP)
题面 代码: #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<algorithm> #include<vector> #include<queue> #include<stack> #in...原创 2019-05-23 12:27:09 · 232 阅读 · 0 评论