技术栈

欧拉序

hnjzsyjyj
12 天前
lca·离散化·欧拉序·树上莫队算法
洛谷 SP10707 COT2:Count on a tree II ← 树上莫队算法(基础莫队算法 + LCA + 欧拉序)【题目来源】 https://www.luogu.com.cn/problem/SP10707 【题目描述】 给定一棵包含 N 个节点的树,节点编号从 1 到 N。每个节点都有一个整数点权。 你需要回答若干组询问,询问的形式如下: u v:求从节点 u 到节点 v 的简单路径上,有多少种不同的点权。 【输入格式】 第一行包含两个整数 N 和 M。(N≤4×10^4, M≤10^5) 第二行包含 N 个整数,第 i 个整数表示第 i 个节点的点权。 接下来的 N−1 行,每行包含两个整数 u 和 v,表示节
hnjzsyjyj
2 年前
图论·lca·dfs序·欧拉序
DFS序 & 欧拉序【算法分析】 ● DFS 序 DFS 序表示从根结点开始对树进行 DFS 所得的结点遍历顺序。易得上图的 DFS 序为:1,2,3,4,5,6,7,8,9。可见,通过 DFS 序,可将一棵树映射为一个一维数组。 假设以某结点 u 为根的子树大小为 cnt[u],u 在整棵树中的 DFS 序为 dfs[u],则可得结点 u 的所有子树对应的 DFS 序区间为 [dfs[u],dfs[u]+cnt[u]-1]。 → 这条性质是编写本题代码的关键。 容易发现,一棵子树所有结点的 DFS 序是整棵树的 DFS 序
我是有底线的