一个性质:\(A\)和\(B\)一定是直径的两端点
这个证明比较简单,我们假设一条非直径路径\(DE\),然后随便选一个点作为\(C\),通过讨论\(AB\)与\(DE\)是否相交即可
所以我们随便找一条直径(当然其实这个东西也需要证明,然而。。。whatever,从考试的角度考虑吧),然后枚举\(C\)即可
我自己也想到一个办法,我们考虑,我们随便找三个点,那么这三个点一定在一条直线上,\(C\)在哪呢?\(C\)肯定是在中间那个点上,于是乎我们可以利用换根DP做这道题目
我们需要知道从每个点出发的最长路径和不严格次长路径,在树形DP的时候,我们分从根节点向下的最/次长和从根节点向上的最/次长即可。自己推到一下状态转移方程
标签:路径,小孩,DE,逃学,次长,我们,DP From: https://www.cnblogs.com/dingxingdi/p/18012002