![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树形dp
文章平均质量分 64
CoderCat.
大
展开
-
洛谷P1270_树形dp_dfs+记忆化搜索
#include #include using namespace std; const int maxn = 1000; struct treenode { int time, val; }tn[maxn*10]; int pt;//警察到达的时间 int dp[maxn][maxn]={0};//在i节点,剩余时间为j的最大值(只管当下) int dfs(int rt,原创 2018-05-06 17:12:22 · 160 阅读 · 0 评论 -
【模板】洛谷P2015_树形dp(带边权)_链式前向星+dfs
多叉树均可 边权,取q条边使权值最大 (1)dfs求该节点u的子节点个数(==边的总数) (2)枚举u的含当前v的子树所保留的边数,和不含v的子树保留的边数 (3)在过程中更新答案原创 2018-05-06 13:25:18 · 322 阅读 · 0 评论 -
洛谷P2014_问题巧妙转化_套模板
可用模板https://blog.csdn.net/jay__bryant/article/details/80213774 本题:森林结构,含点权,选择若干点,使得权值最大 问题转化: (1)新加入一个节点0做为根节点 (2)本来无父亲的点的父节点为0 (3)将每个点的点权转化为与父节点之间连的边的边权 (4)则该问题就转化为模板的模型了 *************原创 2018-05-06 18:11:41 · 115 阅读 · 0 评论 -
【模板】洛谷P1352_树形dp_拓扑排序实现
拓扑排序,从下往上解,并同时记录更新答案 #include #include #include using namespace std; const int maxn = 6010; int happy[maxn];//i的快乐值 int fa[maxn], son[maxn];//父亲的编号和儿子的个数 int dp[maxn][2];//i加与不加的快乐值最大值。1表示加,0不加原创 2018-05-05 18:26:58 · 269 阅读 · 0 评论