![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树形dp
银之夏雪
这个作者很懒,什么都没留下…
展开
-
hdu5379(树形dp)
#include <iostream> #include <cstdio> #include <queue> #include <vector> #include <cstring> #define MOD 1000000007 using namespace std; long long ans; struct node { int id;原创 2016-04-03 17:05:16 · 308 阅读 · 0 评论 -
hdu1520(poj2342)(树形dp)
这道题的题目和poj2342是一样的,然而数据量比那道题大,导致我那道题直接交到这个上是TLE,然后呢,对于这道题目,应该用链式前向星来写,这里我用的是双向建边,因为只要是有直接关系就不行,那么我可以认为不用管谁是上级,所以可以双向建边,注意当双向建边的时候数据量是原变数的2倍,否则会RE#include <iostream> #include <string.h> #include <stdio.原创 2016-04-05 19:31:10 · 377 阅读 · 0 评论 -
树形dp poj2342
#include <iostream> #include <string.h> #include <stdio.h> //#pragma comment(linker, "/STACK:10240000,10240000")//扩栈 int n; bool vis[6005]; int dp[6005][2],pre[6005]; using namespace std; void tree_dp(原创 2016-02-29 21:17:09 · 323 阅读 · 0 评论 -
hdu1561(树形dp+01背包) The more, The Better
这道题目刚开始想了一阵,因为是树形dp专题,所以没看出来是01背包(重点是要倒序),倒序这个点之前一直没想出来是为什么,因为宝物只有一个,和01背包是一样的意思(其实我现在我没太想明白既然已经是二维了,又为什么要倒序呢),状态转移方程是dp[u][j]=max(dp[u][j],dp[u][j-k]+dp[v][k]);,因为我在建树的过程中以0为跟,相当于多攻破了一座堡垒,做以求的是dp[0][m原创 2016-04-08 21:50:28 · 336 阅读 · 0 评论