LCA 问题

T1:

倍增求一下lca,然后树上前缀和,或直接倍增求也行

T2:

可以发现货车运输的路径最多在图上的最大生成森林上跑

所以先跑一遍最大生成树,将各个树与虚点0连一条边权为-1的边,然后跑一遍lca求一下树上最小边即可

树上差分:

T3:

首先题目让我们将一条边的边权赋值为0,然后使得最长路径最短

因为我们删去一条边后,我们不知道它的贡献,所以问题复杂简单化,二分

那些路径长度大于答案的,我们需要将一条边边权赋值为0,使得所有路径长度大于答案的小于答案,也就是这条边首先路径最大值减后要小于答案,其次,这条边要求所有我们要考虑的路径都经过,所以我们对于每一条要考虑的路径上的所有边边权+1,这里树上差分解决,然后找到边权为路径总数的边判断一下是否可以将最大值减为答案之内即可

T4:

详见最小生成树一章

T5:

注意:节点编号不小于n

T6:

真服了硬控我5个点

首先把删边换成加边,然后再考虑一个性质,就是在我们将两个棵树合并时,其中最长路径的端点一定是从原先两棵树的最长路径的端点中出

所以只要判断一下四个端点,哪两个端点组合起来能形成的路径最长记录一下即可

posted @ 2024-11-21 21:14  daydreamer_zcxnb  阅读(9)  评论(0)    收藏  举报