树形DP
文章平均质量分 87
C20201018
这个作者很懒,什么都没留下…
展开
-
C++ 树形DP入门题详解——树的最大独立集
树的最大独立集题目描述对于一棵有N个结点的无根树,选出尽量多的结点,使得任何两个结点均不相邻(称为最大独立集)。输入第1行:1个整数N(1 <= N <= 6000),表示树的结点个数,树中结点的编号从1..N接下来N-1行,每行2个整数u,v,表示树中的一条边连接结点u和v输出第1行:1个整数,表示最大独立集的结点个数样例输入Copy(如果...原创 2019-03-06 13:35:20 · 858 阅读 · 0 评论 -
C++ 树形DP经典例题详解——二叉苹果树
引言这是十分经典的树形DP题,其转移方程很好想到,但有一些坑要注意题目描述有一棵苹果树,如果树枝有分叉,一定是分 2 叉(就是说没有只有 1 个儿子的结点)。这棵树共有 N 个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是 1。 我们用一根树枝两端连接的结点的编号来描述一根树枝的位置。下面是一颗有 4 个树枝的树:现在这颗树枝条太多了,需要剪枝。但是一些树枝上长有苹果...原创 2019-03-14 16:48:07 · 1376 阅读 · 0 评论 -
C++解题报告:电话网络——巧用树形DP
电话网络题目描述Farmer John决定为他的所有奶牛都配备手机,以此鼓励她们互相交流。不过,为此FJ必须在奶牛们居住的N(1 <= N <= 10,000)块草地中选一些建上无线电通讯塔,来保证任意两块草地间都存在手机信号。所有的N块草地按1..N顺次编号。 所有草地中只有N-1对是相邻的,不过对任意两块草地A和B(1 <= A <= N;1 ...原创 2019-03-07 16:51:22 · 693 阅读 · 1 评论 -
C++解题报告——Rima(字典树+树形DP)
题目描述Adrian对单词押韵很感兴趣。如果两个单词的最长公共后缀的长度与两个单词中较长那个的长度一样,或者等于较长单词的长度减一,则这两个单词押韵。换句话说,如果A,B的最长公共后缀LCS(A,B)≥max(|A|,|B|)-1,则A和B押韵。有一天,在阅读一套短篇小说时,他决定创造出能够使每两个相邻单词押韵的最长的单词序列,序列中的每个单词只能出现一次。但是Adrian已经厌倦了这个...原创 2019-07-17 12:18:17 · 306 阅读 · 1 评论