题目链接:https://vjudge.net/contest/164840#problem/D 题意: 给一棵树,每条边上有一些权值,求 长度不超过 x ,最多能走多少个点: 分析: 考虑每一个节点,他可以一直走下去,也可以走回来而走到他的兄弟节点: 状态定义: d[x][j][0/1] 从 i 出发,走 j 个节点的最短距离: 1.回来,这就是一个背包,更新当前节点: 2.不回来,则是要考虑从哪个部分不回来: #include <bits/stdc++.h> using namespace…