摘要: P3047 [USACO12FEB]Nearby Cows G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 树上思维好题 这道题不是树形dp,但是我们要用树形dp的思维来做这题. 首先我们令:dp[x][i]为在x的子树中,与x不超过i距离节点的权值之和。 显然这是很容易求的 阅读全文
posted @ 2023-03-12 21:00 QAQ啥也不会 阅读(20) 评论(0) 推荐(0) 编辑
摘要: P1270 “访问”美术馆 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 经典二叉树dp问题 这道题的建图很有意思: 以及细节处理来回走的trick:小偷最后是要从原点逃出的,所以我们要把每条边的长度*2,来方便处理 void build(int x) { dis[x]=read 阅读全文
posted @ 2023-03-12 20:32 QAQ啥也不会 阅读(26) 评论(0) 推荐(0) 编辑
摘要: P1131 [ZJOI2007] 时态同步 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这更多是一个思维题 看到上面这副图,我们的想法是先让 1→2和1→3拉伸到1→4的深度,再让5→1的叶子拉伸到5→6 我们便令dis[x]为x子树中最深的深度,对x节点进行操作 我们已经在v 阅读全文
posted @ 2023-03-12 20:13 QAQ啥也不会 阅读(24) 评论(0) 推荐(0) 编辑
摘要: P1273 有线电视网 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 令dp[x][i]为第i个节点,转移x个客户的最少费用 转移:dp[x][i]=max(dp[x][i],dp[x][i-k]+dp[v][k]-val[x][v]); 背包树形DP 但是这题获取最重要的便是, 阅读全文
posted @ 2023-03-12 19:53 QAQ啥也不会 阅读(10) 评论(0) 推荐(0) 编辑
摘要: P2014 [CTSC1997] 选课 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这题的技巧:把这些没有父亲节点的点,把他们的父亲节点令为0,则可从多课树变成一棵树。 细节:由于0点是必须取的,所以m要加1 其他便是正常的背包树形dp Code: #include<bits/ 阅读全文
posted @ 2023-03-12 19:42 QAQ啥也不会 阅读(12) 评论(0) 推荐(0) 编辑
摘要: P2015 二叉苹果树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题之所以可以不用背包树形的原因是:它一个经典二叉树dp问题 令son[x][0]为x的左儿子,son[x][1]为x的右儿子 对于x节点,肯定是由左边和右边转移过来的,这就是二叉树dp的特点。 对于左边而不 阅读全文
posted @ 2023-03-12 19:33 QAQ啥也不会 阅读(4) 评论(0) 推荐(0) 编辑
摘要: P2015 二叉苹果树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 背包树形dp主要是用来处理 可以取若干个子节点若干个情况,来实现dp转移到父节点 我们令dp[x][y][i]为先取第x个节点下,前y个子节点留i条边的最大值。 转移: if(j!=0) dp[x][y][i] 阅读全文
posted @ 2023-03-12 19:13 QAQ啥也不会 阅读(14) 评论(0) 推荐(0) 编辑
摘要: P1122 最大子树和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目就是要求:树上点权之和最大的一个连通分量 令dp[i]为必须选i节点的情况下,最大的子树点权和 则有转移方程 dp[x]+=max(dp[v],0); 初始化dp[x]=a[x]; 注意:最后的答案显然不是 阅读全文
posted @ 2023-03-12 18:55 QAQ啥也不会 阅读(29) 评论(0) 推荐(0) 编辑