树形DP
文章平均质量分 59
turbo_7
无聊等于慢性自杀
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu1561 The more, The Better hdu1011 Starship Troopers
两道相似的树形dp+有依赖的的背包,有依赖的背包的多层依赖关系可以用树表示出来,所以以后遇到多层依赖关系的背包可以考虑将依赖关系表示成一棵树,然后树形DP求解,有依赖的背包的求解使用到分组背包思想,详见背包九讲相关专题#include#include#include#define M 210using namespace std;int n,m;int head[M];struct原创 2013-09-07 20:09:16 · 613 阅读 · 0 评论 -
hdu4705 Y
非连通组合个数=所有组合-连通组合个数树形DP,根结点表示三个连通组合数的中间那个数#include#include#includeusing namespace std;#define M 100010#pragma comment(linker, "/STACK:16777216")struct node{ int v,next;}edge[M*2];int hea原创 2013-09-07 20:26:45 · 813 阅读 · 0 评论 -
hdu4514 湫湫系列故事——设计风景线
求树的最长直径,之前做过hdu2196,套用那道题的思路,两次dfs,求出每个结点的最长直径,然后找出最大的即为整棵树的最长直径#pragma comment(linker, "/STACK:102400000,102400000")#include#include#include#define M 100010#define ME 1000010using namespace std原创 2013-09-07 19:46:30 · 876 阅读 · 0 评论 -
hdu2196 Computer
求树的所有结点的最长直径#include#include#includeusing namespace std;#define M 10010int len[M],len2[M],leaf[M],leaf2[M],head[M];int n,tot;struct node{ int to,dis,next;}edge[M*2];void insert(int u,int原创 2013-09-07 20:00:00 · 706 阅读 · 0 评论 -
hdu4003 Find Metal Mineral
#include#include#include#define M 10010using namespace std;struct node{ int to,val,next;}edge[M*2];int head[M],tot;int dp[M][11],cost[M];int n,s,k;void insert(int u,int v,int val){ e原创 2013-09-09 13:48:53 · 551 阅读 · 0 评论
分享