树形dp
文章平均质量分 80
No__stop
这个作者很懒,什么都没留下…
展开
-
zstu4119 Juice树形dp
题意:给出一颗树,树根有无穷大的能量。所有的就节点通过管道连接,管道能流过的能量上限为p[i](1-100)。点亮每一个节点都需要一定的能量r[i](0-100)。流入每个子节点管道的能量总和,不能超过它与父亲相连的管道的直径。问最多能点亮几个节点。 解题思路:题目要求最优值,可以想到dp的思路。dp[u][i]表示流入u节点i 的能量,最多能将u子树上的多少个节点点亮。那么就转换成了一个分组背原创 2013-07-18 10:50:49 · 792 阅读 · 0 评论 -
HDOJ (HDU) 1561 The more, The Better (树形DP)
HDOJ (HDU) 1561 The more, The Better (树形DP) 题意:中文题。。 解题思路:求最优解,考虑dp。树形dp,转换成有依赖的分组背包 dp[u][i]表示u子树中取i个物品,能获得的的最大价值是多少。cnt[u]数组表示u子树的大小,即背包的容量,cnt数组可以通过递归计算子树后不断增大。设V为U的儿子,取到v必须取到u。所以先不考虑将u物品放入背包中,而原创 2013-07-18 15:21:05 · 855 阅读 · 0 评论 -
codeforces 161D Distance in Tree(树形dp)
codeforces 161D Distance in Tree(树形dp) 题意:求一颗树中,两个节点间距离为m的点对有几对。因为节点数有50000,考虑最短路算法肯定是不对的。 解题思路:树形dp。 先预处理出dp[u][i]表示以u为根的树上,到u的距离为i的点有多少个。再dfs搜索一遍,将dp[u][m]*2 累加到sum中,即u树中到u的距离为m的个数。然后统计所有的子树 将d原创 2013-07-18 16:15:08 · 1014 阅读 · 0 评论 -
poj2486 Apple Tree (树形dp)
题意:有一颗苹果树,树上的u节点上有num[u]个苹果,树根为1号节点,囧king从根开始走,没走到一个节点就把接点上的苹果吃光,问囧king在不超过k步的情况下最多吃多少个苹果。解题思路:处理出两个dp数组,f1[u][i]表示在不超过i步的情况下,从u节点开始,往下吃,吃完后回到u节点,最多能吃多少苹果。f2[u][i]表示在不超过i步的情况下,从u节点开始往下吃,最多能吃多少苹果。 #in原创 2013-07-24 14:21:36 · 901 阅读 · 0 评论 -
hdu 4661 Message Passing(树形dp)
题意:比较容易懂,就是n个人,构成树形关系。每个人有一条独一无二的信息,每个人可以将自己的信息通过树边,共享给与他相邻的人,共享之后,被共享的人拥有他原有的信息和共享的来的信息。每次共享为一次操作,问每个人都拥有所有人的信息最小要的次数的共享方法有多少种。 解题思路:首先要明确的是,我们共享信息的策略是,将所有信息都共享给某一个人,再由这个人将所有信息反馈给其他人,这样共享信息的总操作次数是2*原创 2013-08-09 19:31:14 · 1555 阅读 · 0 评论 -
hdu 4705 Y (树形dp)
hdu 4705 Y 题意:在一棵树上找三个点,这三个点不构成一条链的有多少种取法。 解题思路:把题意转化一下,找三个点能够构成一条链的有多少种取法,然后用用总数减掉就可以了。那么怎么找构成链的取法呢?对于某一个点,我们认为这个点是必取的,然后再从其他地方取两个,把枚举所有点时得到的方案数累加起来,再除以3,就是答案。为什么除以3?因为一条链上的三个点,对于枚举任一个点的时候,这条链都被计算原创 2013-08-22 18:49:50 · 1111 阅读 · 0 评论 -
hdu 4679 Terrorist’s destroy (树形dp)
hdu 4679 Terrorist’s destroy 4小时55分敲完代码,0调试,跑出样例直接交了,结果爆栈,扩栈交了一发,居然A了,我和我的小伙伴们都惊呆了。。。 题意:给出有n个节点的一棵树,树上的边有权值。我们切断一条边,将整棵树分成两颗,计算一个值,这个值的计算方法,v = b * max ( d1 , d2 ) ;其中,b为所切的边的权值,d1 ,d2 为切断后形成的两颗树的树原创 2013-08-15 19:00:47 · 1117 阅读 · 0 评论