随笔分类 -  树形DP

POJ 1741 树上的点分治
摘要:题目大意:找到树上点对间距离不大于K的点对数这是一道简单的练习点分治的题,注意的是为了防止点分治时出现最后分治出来一颗子树为一条直线,所以用递归的方法求出最合适的root点 1 #include 2 #include 3 #include 4 #include 5 #include 6 ... 阅读全文
posted @ 2015-08-01 18:43 Love风吟 阅读(169) 评论(0) 推荐(0)
HDU 5242 利用树链剖分思想进行贪心
摘要:题目大意:在给定带权值节点的树上从1开始不回头走到某个底端点后得到所有经过的点的权值后,这些点权值修改为0,到达底部后重新回到1,继续走,问走k次,最多能得到多少权值之和这其实就是相当于每一次都走权值最大的那一条路径,进行贪心k次首先先来想想树链剖分的时候的思想:重儿子表示这个儿子对应的子树的节点数... 阅读全文
posted @ 2015-06-04 10:47 Love风吟 阅读(445) 评论(0) 推荐(0)
UVALive 4015 树形dp
摘要:题目大意:从一个根节点出发,走最多x的长度,问最多能走过多少个节点,图保证是一棵树dp[0][i][j] , 表示走从i点为根的子树走过了j个点最后回到 i 最少需要多少时间dp[1][i][j] , 同理,但表示不需要回到 i 那么由儿子不断向父亲更新,有4种情况1.if(dp[0][u][k+j... 阅读全文
posted @ 2015-05-28 23:51 Love风吟 阅读(268) 评论(0) 推荐(0)
URAL 1108 简单的树形dp背包问题
摘要:题目大意:一颗苹果树上,每条边都对应了一个权值,最后留下包括root : 1在的含有 m 条边的子树 , 希望留下的子树中权值之和最大这里保留m条边,我们可以看作是保留了 m + 1 个点令dp[u][j] 表示 u 为根的子树中包含了j个点的子树中得到的权值最大和状态转移方程:dp[u][j] =... 阅读全文
posted @ 2015-01-20 15:59 Love风吟 阅读(336) 评论(0) 推荐(0)
POJ 2486 树形dp
摘要:题目大意:从 1 号点出发,每次经过一个点,就可以得到点上的所有苹果,走m步,求能够得到的苹果最大数量这里用dp[u][j] 表示 从u号点出发走 j 步后回到u点能得到的苹果最大数量用ans[u][j] 表示从 u 号点出发走 j 步不一定回到u点能得到的苹果最大数量(包括了dp[u][j]的情况... 阅读全文
posted @ 2015-01-20 15:14 Love风吟 阅读(119) 评论(0) 推荐(0)
HDU 2242 连通分量缩点+树形dp
摘要:题目大意是:所有点在一个连通图上,希望去掉一条边得到两个连通图,且两个图上所有点的权值的差最小,如果没有割边,则输出impossible这道题需要先利用tarjan算法将在同一连通分量中的点缩成一个点后,重新构建一幅图,然后利用新建的图进行树形dp解决问题这道题目需要注意的是可能存在重边,那么子节点... 阅读全文
posted @ 2015-01-19 21:23 Love风吟 阅读(187) 评论(0) 推荐(0)
POJ 3140 Contestants Division
摘要:题目大意:n个点,每个点有个权值,m条边,形成一棵树,这道题里面,m就是坑爹的,实际上就是 m = n-1 ,不考虑它也没问题, 写在这里吓唬人的只能建一条通信道 , 也就是找到一条边作为通信通道,然后这个通信通道分割了2棵树,求得到两棵树权值之和相差的值最小这里数据比较大,要用到 long lon... 阅读全文
posted @ 2015-01-19 16:49 Love风吟 阅读(148) 评论(0) 推荐(0)
POJ 2378 Tree Cutting
摘要:题目大意给定一个无向图形成一棵树,截去某个点后,森林中的树要是每棵树中的节点数都不超过原来总结点数的1/2,那么就把这个点输出否则输出NONE前面也做了思想一样的题目POJ 1655 Balancing Act && POJ 3107 Godfather不理解可以看看 1 /* 2 sum[i]表示... 阅读全文
posted @ 2015-01-19 16:11 Love风吟 阅读(137) 评论(0) 推荐(0)
ZOJ 3201 树形背包问题
摘要:题目大意:0~n-1号这n个点,每个点有个权值,由无向边形成了一棵树,希望在这棵树上找到一棵长为m的子树使总的权值最小基本的树形背包问题令dp[u][j] 表示u号节点对应子树中有j个节点所能得到的最大权值dp[u][1] = val[u]dp[u][j] = max{dp[v][k] + dp[u... 阅读全文
posted @ 2015-01-19 15:42 Love风吟 阅读(205) 评论(0) 推荐(0)
POJ 1655 Balancing Act && POJ 3107 Godfather
摘要:题目大意:根据题目的图很好理解意思,就是记录每一个点的balance,例如 i 的balance就是把 i 从这棵树中除去后得到的森林中含有结点数最多的子树中的节点个数,然后找到所有节点中对应的balance的最小值 , 并输出最小值对应的最小的标号题目不要看花。。。前一个是找最大,后面找所有最大值... 阅读全文
posted @ 2015-01-19 14:41 Love风吟 阅读(161) 评论(0) 推荐(0)
codeforces 219D 树形dp
摘要:题目大意:根据n个城市,设置n-1条有向边,希望设定一个中心城市,能通过修改一些道路的方向到达任何一座城市,希望修改的道路数量最少输出这个最少的道路数量,并且把所有符合的可作为中心的城市编号一个个输出来开始也实在想不出,根据树形dp,首先要确定一棵树,可是这里的边乱七八糟的,没法确定根后来看了别人的... 阅读全文
posted @ 2015-01-19 00:01 Love风吟 阅读(174) 评论(0) 推荐(0)
POJ 1947 Rebuilding Roads
摘要:题目大意:根据两个点建立一条有向边,最后可形成的是一棵树,希望通过切除一些边,使一棵含有p个节点的子树被独立出来,希望切除的边数最少,输出这个边数这个是第一次自己完完整整做出来的树形Dp题目,没有参考别人的DP思路,虽然自己很快想好了,但是总是无法合适的进行组织,做了很久,但自己做出来的总是会比取理... 阅读全文
posted @ 2015-01-18 21:36 Love风吟 阅读(120) 评论(0) 推荐(0)
HDU 1561 树形DP背包问题
摘要:这是自己第一道背包上树形结构问题,不是很理解这个概念的可以先看看背包九讲自己第一次做,看了一下别人的思路,结合着对简单背包问题的求解方式自己一次AC了还是有点小激动的题目大意是:攻克m个城市,每个城市都有对应数量的宝贝,攻克某一个城市必须保证其对应的某一个特定城市已经被攻克,希望得到最多数量的宝贝很... 阅读全文
posted @ 2015-01-18 16:14 Love风吟 阅读(188) 评论(0) 推荐(0)
HDU 2196 Computer 树形DP
摘要:题目大意:每台新电脑都与某一台原电脑相连有一个长度,求每台电脑相距其最远的电脑的距离这里因为第一台电脑是最初的,所以可以将第一台电脑作为树根,其他电脑分布就可以形成一棵树这里距离有两种,一种是往树底找,一种是往父节点方向走第一次dfs记录下每个节点往子节点方向找到其树底的最长距离,第二次dfs记录每... 阅读全文
posted @ 2015-01-17 12:33 Love风吟 阅读(187) 评论(0) 推荐(0)
HDU 1520 Anniversary party 树形DP
摘要:题目大意:员工参加周年晚会,如果没有遇到直接上司,那么员工会有一个开心值,我们要尽可能让员工的开心值最大最开始输入n ,然后是1~n号员工对应的开心值然后不断输入员工间的领导关系,L,K表示K是L的上司,直到输出0,0结束这是第一次接触树形dp的题目,貌似也是最为推荐的题目,DP的思路是从别的大神地... 阅读全文
posted @ 2015-01-16 13:42 Love风吟 阅读(218) 评论(0) 推荐(0)