摘要:
P2014 [CTSC1997] 选课 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这题的技巧:把这些没有父亲节点的点,把他们的父亲节点令为0,则可从多课树变成一棵树。 细节:由于0点是必须取的,所以m要加1 其他便是正常的背包树形dp Code: #include<bits/ 阅读全文
摘要:
P2015 二叉苹果树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题之所以可以不用背包树形的原因是:它一个经典二叉树dp问题 令son[x][0]为x的左儿子,son[x][1]为x的右儿子 对于x节点,肯定是由左边和右边转移过来的,这就是二叉树dp的特点。 对于左边而不 阅读全文
摘要:
P2015 二叉苹果树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 背包树形dp主要是用来处理 可以取若干个子节点若干个情况,来实现dp转移到父节点 我们令dp[x][y][i]为先取第x个节点下,前y个子节点留i条边的最大值。 转移: if(j!=0) dp[x][y][i] 阅读全文
摘要:
P1122 最大子树和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目就是要求:树上点权之和最大的一个连通分量 令dp[i]为必须选i节点的情况下,最大的子树点权和 则有转移方程 dp[x]+=max(dp[v],0); 初始化dp[x]=a[x]; 注意:最后的答案显然不是 阅读全文