随笔分类 - DP-树形DP
摘要:实际上就是一般基环树DP套路性做法,断环成树,见过一题就知道了,具体可以看上一篇。这题基本一致。。。也是考虑断开后两点的影响关系分两种讨论。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorith
阅读全文
摘要:实际上基环树DP的名字是假的。。 这个限制关系可以看成每个点有一条出边,所以就是一个内向基环树森林。 找出每个基环树的环,然后对于树的部分,做DP,设状态选或不选为$f_{x,0/1}$,则 $f_{x,0}=\sum\limits_{y\in son_x} \max\{f_{y,0},f_{y,1
阅读全文
摘要:主要卡在一个结论上。。关于点双有一个常用结论,也经常作为在圆方树/简单路径上的良好性质,对于任意点双内互不相同的三点$s,c,t$,都存在简单路径$s\to c\to t$,证明不会。可以参见clz博客。。我就是跟着他学的 然后就好办了,转化为树上两点计经过点双内所有点个数,然后赋权后变为统计两两圆
阅读全文
摘要:给定 n 个节点的树,边有权值。1 号点是根,除了 1 号点外的度数为 1 的节点是叶子。要求切断所有叶子和 1 号点之间的联系,切断一条边要花费这条边上权值对应的代价,要求总的代价不超过 m。在满足这个前提下要求切断的边权的最大值最小,求出这个最小值。$n ≤ 10^5$ 首先这个最大值肯定二分答
阅读全文
摘要:求一棵树每条边都被选上的点覆盖掉的最少选点数。 一条边被覆盖掉,必须他父亲和儿子中选一个。。这不就是比NOIP2018D2T3还裸的暴力么。水掉。 lyd给的练习题都什么**玩意儿。。 code不挂了。其实是我没写
阅读全文
摘要:思路其实非常简单,借用一下最大流求法即可。。。默认以1为根时,$f[x]$表示以$x$为根的子树最大流。转移的话分两种情况,一种由叶子转移,一种由正常孩子转移,判断一下即可。换根的时候由頂向下递推转移,很容易得知推法(不说了。唯一需要注意的换根时原来度数为1的根转移为另一个子节点时,需要特判。 RE
阅读全文
摘要:https://www.luogu.org/problemnew/show/P2014 树形背包的裸题。。当版子好了。 $f[i][j][k]$表示子树$i$选前$j$个孩子,共$k$个后代节点时的最大价值。然后$j$那一维是可以滚动的(但同时也要注意枚举变成了倒序),所以可以去掉。 $f[i][j
阅读全文

浙公网安备 33010602011771号