
树形DP
文章平均质量分 80
tju_virus
这个作者很懒,什么都没留下…
展开
-
2011 Asia Fuzhou Regional Contest-1003 hdu4123 Bob’s Race
同样北大的题,题目很简单,想法很简单也很容易实现,但却要优化好,否则很容易超时。题目描述:Bob要办一场赛跑比赛,有N个房子互相相连,任意两个房子间有且仅有一天路(树形结构),有N个人分别从这N个房子出发,要求每个人都跑到尽量远的房子,但每个人只能经过每条路一次,不同人之间跑的路程会有差距,Bob想知道最多有多少个连续的人他们中最远的路程减最小的路程不大于P。最多有50000个点,500次询问原创 2012-08-08 16:16:23 · 829 阅读 · 0 评论 -
2012 Multi-University Training Contest 5-1001 hdu4340
http://acm.hdu.edu.cn/showproblem.php?pid=4340树形dp我们可以知道,如果某一个连通的点集染的是同一种颜色,则这个集合中只要而且必须有一个点取完整的费用,其他的点都只需要对应费用的一半。状态:dp[i][j][k] (0 通的点集有j个点选取了完整的费用(j只需为0或1)。若root为根节点,则最后需要的结果为: min(dp[roo原创 2012-08-07 18:50:28 · 537 阅读 · 0 评论 -
2012 Multi-University Training Contest 6-1010 hdu4359 Easy Tree DP?
这场比赛中的简单dp题。要求左子树所有值的和小于右子树所有值的和。由于每个结点中的值都是2的几次方,那么就有这样一个很好的性质2^0+2^1+...+2^(n-1) 那么如果树中的左右子都有的话,那么只要最大的在右子树中就能保证右子树的总和大于左子树的总和用dp[i][j] 表示i个结点形成深度为j 的树有多少种 comb[i][j] 表示i个结点形成深度小于j的树有多少种方式,c[i原创 2012-08-10 12:27:48 · 420 阅读 · 0 评论 -
2011 Asia Beijing Regional Online Contest-1005 hdu4044 GeoDefense
http://acm.hdu.edu.cn/showproblem.php?pid=4044题意:有一棵树,各节点上可以建塔防,塔防有自己的攻击力和价格。初始时给m金钱,每建一座需花费一定价钱,同时每个结点至多建一座。有一个怪物,从根节点1走向叶子节点,路上会被塔防攻击掉血。求一个最大的怪物血量,使得不管它走向哪个叶子节点,都可以被用至多m的金钱建的塔防消灭。思路:在怪物由根节点走向叶原创 2012-08-11 19:42:50 · 512 阅读 · 0 评论 -
2011 Asia Beijing Regional Online Contest-1005 hdu4044 GeoDefense-tjuqxy
昨天一个下午边看视频边写的代码,今天又一个下午来调试,本来对这份代码很没信心的,觉得那些想法有问题,今天跟同学又讨论了一下午找代码里的Bug,把程序认认真真读了一遍之前写的那些想法都明白了:树形DP,分组背包空间优化,建树,DP状态转移过程中的“滚动数组”。 觉得对DP有了更深入的理解吧,代码发上来纪念下。最后膜拜下政哥……#include #include #原创 2012-08-13 20:18:33 · 324 阅读 · 0 评论