树形DP
KetchupZ
退役acmer一名,CCPC银+ICPC铜(欢迎大家访问我的Github地址:https://github.com/LieLieLiekey)
展开
-
HDU - 1561树形依赖背包
HDU - 1561树形依赖背包题目: 传送门思路见代码注释.代码:/*对于每个节点u,要么有唯一的父亲fa,要么没有父亲,自形一颗树所以按照题目给的要求该图是一个森林.我们考虑将森林中的每一颗树的根连接到超级根root.那么形成的图是一个以超级根为根的树,题目也转化为从该树上取m+1个节点,使得价值最大,取u节点必须先取父亲节点.这就是树形依赖背包的问题了*/#includ...原创 2019-08-27 21:54:44 · 199 阅读 · 0 评论 -
K - Strategic game POJ - 1463(简单树形DP)
K - Strategic game POJ - 1463(简单树形DP)题目:传送门思路见注释代码 :/*树的最小顶点覆盖dp[u][0]代表当前以u为根的子树,u不选所需的最小花费dp[u][1]代表当前以u为根的子树,u选的最小所需花费dp[u][1]=1+sum(min(dp[son][0],dp[son][1]))dp[u][0]=sum(dp[son][1])*/...原创 2019-08-27 22:00:44 · 170 阅读 · 0 评论 -
J - Anniversary party POJ - 2342(简单树形DP)
J - Anniversary party POJ - 2342(简单树形DP)题目:传送门思路见注释代码 :/*简单树形dp.考虑dp[node][0/1],代表以node在选与不选的情况下,以u为根的子树的最大价值dp[node][0]=sum(max(dp[v][0],dp[v][1]))dp[node][1]=sum(dp[v][0])*/#include<ios...原创 2019-08-27 22:02:03 · 149 阅读 · 0 评论 -
Shenyang 2019 Fish eating fruit (树形dp+换根)
Shenyang 2019 Fish eating fruit (树形dp+换根)题目链接:传送门题意: 给一个有n个点的树,求所有两点之间的路径权值和,且路径权值和分三类:模3为0,模3为1,模3为2的路径。对于每种路径,输出其种类路径的和。思路 : 不难想到树形dp+换根可以解决这个问题。 我们首先把节点 0 定为根进行第一遍dfs,对于u节点,记录当前以u为根子树上的节...原创 2019-09-15 10:30:39 · 179 阅读 · 0 评论 -
L - Computer(HDU2196 ,树形DP,换根法)
L - Computer(HDU2196 ,树形DP,换根法)题目 :传送门思路见注释代码 :*换根法dp:先把无根树化为有根树第一遍dfs,对于顶点u,求u的子树到u的最大和次大距离第二遍dfs,将树化为顶点u为根,u的子树到u的最大距离和次大距离 对于u的最大距离就是res[u],而u的次大距离是用来儿子换根的时候进行状态转移*/#include<bits/s...原创 2019-08-27 21:59:09 · 237 阅读 · 0 评论