看题解有大佬有用树状dp的,还有说正解是长链剖分。。。
我太菜了,上面那些都不会,用dfs遍历ac了,不知道是不是数据太水让我水过了。正应了ACM圈一句名言“这题我虽然不会,但ac还是没问题的”。
先用结构体建树:
struct node {
int l, r;
}tree[maxn];
输入:
for (int i = 1; i <= n; i++) cin >> tree[i].l >> tree[i].r;
dfs遍历树并更新答案:
看题解有大佬有用树状dp的,还有说正解是长链剖分。。。
我太菜了,上面那些都不会,用dfs遍历ac了,不知道是不是数据太水让我水过了。正应了ACM圈一句名言“这题我虽然不会,但ac还是没问题的”。
先用结构体建树:
struct node {
int l, r;
}tree[maxn];
输入:
for (int i = 1; i <= n; i++) cin >> tree[i].l >> tree[i].r;
dfs遍历树并更新答案: