树直径
没4年
这个作者很懒,什么都没留下…
展开
-
Hide 捉迷藏 RMQ求LCA + 线段树维护树直径
Hide 捉迷藏题解:裸的线段树维护树直径,但是你同时可以学到树直径和RMQ求LCA,这道题还是不错的。#include<bits/stdc++.h>#define ll long long#define m (l+r)/2#define ls o*2#define rs o*2+1using namespace std;const int maxn = 1e5+10;...原创 2019-10-31 00:05:03 · 167 阅读 · 0 评论 -
Rikka with Travels 动态维护树直径
Rikka with Travels题意:求两条不相交的路线长度的有序对数。题解:暴力枚举每条边对应两个点对应子树的树直径。#include<bits/stdc++.h>#define ll long longusing namespace std;const int maxn = 1e5+10;int f[maxn],d[maxn],sz[maxn],son[maxn]...原创 2019-10-28 21:24:46 · 262 阅读 · 0 评论 -
A. Lightning Routing I 线段树维护树直径
A. Lightning Routing I题意:带修改的边权树,查询给定点到任意点的最远距离。题解:首先我们树直径的合并,两颗子树合并后,新的树直径端点在原理两颗子树的树直径端点产生。那么我们就要查询任意树上两点之间的边权,需要一颗边权线段树,然后维护一颗树直径线段树。注意:qu_path()函数中,更新区间最后左区间+1。#include<bits/stdc++.h>#d...原创 2019-10-26 12:27:00 · 333 阅读 · 0 评论