Krydom: 暁の水平线に胜利を刻むのです

ソロモンの悪夢、見せてあげる!

@krydom7月前

05/17
20:07
树形动规

[bzoj 4813] [Cqoi2017]小Q的棋盘

♦♦♦♦♦♦   Description   ♦♦♦♦♦♦

小Q正在设计一种棋类游戏。在小Q设计的游戏中,棋子可以放在棋盘上的格点中。某些格点之间有连线,棋子只能在有连线的格点之间移动。整个棋盘上共有V个格点,编号为0,1,2…,V-1,它们是连通的,也就是说棋子从任意格点出发,总能到达所有的格点。小Q在设计棋盘时,还保证棋子从一个格点移动到另外任一格点的路径是唯一的。小Q现在想知道,当棋子从格点0出发,移动N步最多能经过多少格点。格点可以重复经过多次,但不重复计数。

♦♦♦♦♦♦   Input   ♦♦♦♦♦♦

第一行包含2个正整数V,N,其中V表示格点总数,N表示移动步数。
接下来V-1行,每行两个数Ai,Bi,表示编号为Ai,Bi的两个格点之间有连线。
V,N≤ 100, 0 ≤Ai,Bi<V

♦♦♦♦♦♦   Output   ♦♦♦♦♦♦

输出一行一个整数,表示最多经过的格点数量。

♦♦♦♦♦♦   Sample Input   ♦♦♦♦♦♦

5 2
1 0
2 1
3 2
4 3

♦♦♦♦♦♦   Sample Output   ♦♦♦♦♦♦

3
从格点 0 出发移动 2 步。经过 0, 1, 2 这 3 个格点。

♦♦♦♦♦♦   Hint   ♦♦♦♦♦♦

♦♦♦♦♦♦   题解  ♦♦♦♦♦♦

树形dp ,f[i][j]表示从i开始在子树里走j步并回到i最多能走多少点,g[i][j]表示不用回到i最多能走多少点,然后就可以转移了。

据说有一堆分情况讨论然后O(n)的做法 orz orz

 

[bzoj 4813] [Cqoi2017]小Q的棋盘