C题 求一颗树删去某个点后 形成的森林的最长上升子序列 最短, 输出最短的值 思路 : 点分治 + 线段树合并 首先解决第一个问题 如何求一颗树的最长上升子序列 ? 首先 最容易想到的就是 树上dp 先将树变成一颗有根树 (根随意) 对于 一颗以点 为根的树 , 所有经过 的 最长上升子序列(并不一定要选择, 只是构成的数组经过), 要么 为端点 要么 为 中间的某个点, 如下图表示两种情况 那么只要以每个点为根 都求出上图所示的两种情况的LIS, 取 即使答案 方法有很多,这里说一下比较常见的, 线段树合并 对于 每一个点, 都开两颗权值线段树, 其中 lis[i] 表示 最后一个...