随笔分类 -  DP-树形DP

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