
ACM_DP_树形DP
9974
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SGU 195 树形DP
树形DP做起来很生疏,需要加强,很简单的一题做了好久。题意也很神奇,题目中给定一棵树,要求它的最大匹配:给出一棵有N (N 1.不包含根结点 2.每个点和它的所有儿子中只能选择一个点 输出最多能选多少个点并给一种方案。算一题入门题吧。#include #include #include using namespace std;co原创 2013-04-05 17:20:59 · 1251 阅读 · 0 评论 -
HDU 3586 Information Disturbing 树形DP
代码1:View Code #include#includestring.h>#includeusing namespace std;#define maxn 1003#define inf 1<<29struct node{ int v, next, w;}edge[maxn1];int head[maxn];int to原创 2013-08-29 10:35:33 · 818 阅读 · 0 评论 -
HDU 4126 Genghis Khan the Conqueror prim + 树形DP 好题
题意:一个N个点的无向图,先生成一棵最小生成树,然后给你Q次询问,每次询问都是x,y,z的形式, 表示的意思是在原图中将x,y之间的边增大(一定是变大的)到z时,此时最小生成数的值是多少。最后求Q次询问最小生成树的平均值。 N=10000思路:先求出该图的最小生成树,用prim(), O(n^2)。对于每次询问, 都是将a,b之间的边增加到c, 会出现 两种情况:1. 如果边权原创 2013-08-29 10:35:49 · 854 阅读 · 0 评论 -
HDU 2196 Computer 树形DP(2个dfs)
树形DP, 2 个dfs。前几天觉得很难,现在可以说是水题了。View Code #include#includestring.h>#includeusing namespace std;#define maxn 10003struct E{ int v, next, w;}edge[maxn1];int tot, head[max原创 2013-08-29 10:35:42 · 688 阅读 · 0 评论 -
hdu 4679 Terrorist’s destroy 树形dp水题 (2013多校联合)
4小时55分敲完代码,0调试,跑出样例直接交了,结果爆栈,扩栈交了一发,居然A了,我和我的小伙伴们都惊呆了。。。题意:给出有n个节点的一棵树,树上的边有权值。我们切断一条边,将整棵树分成两颗,计算一个值,这个值的计算方法,v = b * max ( d1 , d2 ) ;其中,b为所切的边的权值,d1 ,d2 为切断后形成的两颗树的树上的最长路。对于每一条边,会计算出一个v值,问切那条边时原创 2013-08-15 20:08:40 · 2159 阅读 · 5 评论 -
hdu 4661 Message Passing 树形dp (2013多校联合)
题意:比较容易懂,就是n个人,构成树形关系。每个人有一条独一无二的信息,每个人可以将自己的信息通过树边,共享给与他相邻的人,共享之后,被共享的人拥有他原有的信息和共享的来的信息。每次共享为一次操作,问每个人都拥有所有人的信息最小要的次数的共享方法有多少种。做法:参照http://blog.youkuaiyun.com/no__stop/article/details/9861649dfs老是要手动扩栈原创 2013-08-10 12:51:20 · 1300 阅读 · 0 评论