【Codeforces418D】Big Problems for Organizers
先求出树的直径。
预处理出直径,用rmqrmq维护处直径上某一个区间点的子树内到直径两端点距离的最大值。
询问时,先找到x,yx,y两点所在的根,然后答案只能是一下两种:
1、直径两端点的答案
2、xx所在树到路径中点所在直径上的点的树中距xx的最大距离或者另一半的同样情况。#include <bits/stdc++.h>
#define gc getchar()
#define ll lo
原创
2017-10-26 14:47:38 ·
312 阅读 ·
0 评论