
【算法】树形dp
文章平均质量分 81
mysterynoip
蒟蒻OIer
展开
-
bzoj 4557 [JLoi2016]侦察守卫 树形dp
题面题目传送门解法比较经典的树形dp我们设fi,jfi,jf_{i,j}表示点iii向下深度为jjj还需要覆盖,深度为jjj以下的点已经被完全覆盖的最小代价,gi,jgi,jg_{i,j}表示点iii这棵子树已经被全部覆盖,并且还能向上延伸jjj层的最小代价那么,我们可以写出下列转移方程:fi,j=∑k∈sonifk,j−1fi,j=∑k∈sonifk,j−1f_{i,j}=...原创 2018-08-18 20:27:09 · 196 阅读 · 0 评论 -
bzoj 3302 [Shoi2005]树的双中心 树形dp
题面题目传送门解法细节处理较多的树形dp不妨假设最终的两个带权重心为x,yx,yx,y,显然,存在一条边将这棵树分成两部分,每一部分都离那一个重心最近所以,我们可以枚举那一条边,然后求出它分成的两棵树的带权重心考虑一下这个算法的正确性,尽管对于两棵树的带权重心我们枚举的那条边的分割方式并不合法,但是在我们枚举真正合法的那一条边的时候,这两个点依然是不会变的,所以我们这么做...原创 2018-08-20 23:16:45 · 324 阅读 · 0 评论 -
bzoj 5314 [Jsoi2018]潜入行动 树形dp
题面题目传送门解法细节多到烦死人的树形dp树形背包应该是比较显然的,先考虑如何设计状态设f[i][j][0/1][0/1]f[i][j][0/1][0/1]f[i][j][0/1][0/1]表示点iii所在的子树中选取jjj个点,是否装有通信设备,是否被其子节点监控的方案数假设当前我们做到的节点为xxx,枚举到xxx的其中一个儿子为yyy,假设xxx已经被遍历到的子树连x...原创 2018-08-23 20:32:58 · 274 阅读 · 0 评论 -
bzoj 3836 [Poi2014]Tourism 状压dp+树形dp
题面题目传送门解法状压dp+树形dp好题图可能形成多个连通块,对于每一个连通块单独处理,因为相互之间不影响答案。那么考虑对于一个连通块的答案应该怎么计算。因为整个图满足最长路不超过10,那么就意味着dfs时候建出的搜索树深度不超过10,并且非树边必然为返祖边。我们不妨假设000表示这个点被选择了,111表示这个点没有被选择并且它还没有被覆盖,222表示这个点没有被选择但是已经被覆盖...原创 2019-03-04 18:38:57 · 199 阅读 · 0 评论 -
bzoj 5252 [2018多省省队联测]林克卡特树 树形dp+凸优化
题面题目传送门解法简化一下题面就是选出不相交的k+1k+1k+1条链,使得边权之和最大。先写写部分分好了。k=0/1k=0/1k=0/1比较简单,求一求直径就好了,具体细节不再赘述(我记得我当初在考场上的时候竟然用两次dfs求直径,然后因为有负数就只有5分……)k=2k=2k=2可能是大分类讨论,表示并不会……考虑k≤100k\leq100k≤100怎么处理。可以考虑树形dp。f[...原创 2019-03-11 21:03:56 · 185 阅读 · 0 评论