Professional Documents
Culture Documents
15一等奖冲刺 树与图 主讲:吉如一
15一等奖冲刺 树与图 主讲:吉如一
吉如一
杭州天水幼儿园
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 1 / 44
自我介绍
NOIP2013-2015 提高组一等奖
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 2 / 44
自我介绍
NOIP2013-2015 提高组一等奖
NOI2014 银牌
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 2 / 44
自我介绍
NOIP2013-2015 提高组一等奖
NOI2014 银牌
NOI2015 金牌
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 2 / 44
自我介绍
NOIP2013-2015 提高组一等奖
NOI2014 银牌
NOI2015 金牌
目前就读于北京大学信息科学技术学院
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 2 / 44
自我介绍
NOIP2013-2015 提高组一等奖
NOI2014 银牌
NOI2015 金牌
目前就读于北京大学信息科学技术学院
jiruyi910387714@edu.pku.cn
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 2 / 44
基本框架
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
2) BFS 与 DFS
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
2) BFS 与 DFS
3) 欧拉回路
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
2) BFS 与 DFS
3) 欧拉回路
4) 拓扑排序
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
2) BFS 与 DFS
3) 欧拉回路
4) 拓扑排序
5) 最短路
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
2) BFS 与 DFS
3) 欧拉回路
4) 拓扑排序
5) 最短路
6) 并查集
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
2) BFS 与 DFS
3) 欧拉回路
4) 拓扑排序
5) 最短路
6) 并查集
7) 最小生成树
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
2) BFS 与 DFS
3) 欧拉回路
4) 拓扑排序
5) 最短路
6) 并查集
7) 最小生成树
树
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
2) BFS 与 DFS
3) 欧拉回路
4) 拓扑排序
5) 最短路
6) 并查集
7) 最小生成树
树
1) LCA
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
2) BFS 与 DFS
3) 欧拉回路
4) 拓扑排序
5) 最短路
6) 并查集
7) 最小生成树
树
1) LCA
2) BFS 序与 DFS 序
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
2) BFS 与 DFS
3) 欧拉回路
4) 拓扑排序
5) 最短路
6) 并查集
7) 最小生成树
树
1) LCA
2) BFS 序与 DFS 序
3) 树链剖分
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
2) BFS 与 DFS
3) 欧拉回路
4) 拓扑排序
5) 最短路
6) 并查集
7) 最小生成树
树
1) LCA
2) BFS 序与 DFS 序
3) 树链剖分
有时间的话瞎逼讲一点扩展
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
2) BFS 与 DFS
3) 欧拉回路
4) 拓扑排序
5) 最短路
6) 并查集
7) 最小生成树
树
1) LCA
2) BFS 序与 DFS 序
3) 树链剖分
有时间的话瞎逼讲一点扩展
1) tarjan
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
基本框架
图
1) 邻接矩阵与邻接表
2) BFS 与 DFS
3) 欧拉回路
4) 拓扑排序
5) 最短路
6) 并查集
7) 最小生成树
树
1) LCA
2) BFS 序与 DFS 序
3) 树链剖分
有时间的话瞎逼讲一点扩展
1) tarjan
2) 图上的随机游走问题
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 3 / 44
邻接矩阵
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 4 / 44
邻接矩阵
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 4 / 44
经典问题
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 5 / 44
经典问题
∑
dp[L][i][j] = dp[L − 1][i][k] × A[k][j]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 6 / 44
经典问题
∑
dp[L][i][j] = dp[L − 1][i][k] × A[k][j]
矩阵乘法,dp[L] = AL
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 6 / 44
经典问题
∑
dp[L][i][j] = dp[L − 1][i][k] × A[k][j]
矩阵乘法,dp[L] = AL
快速幂。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 6 / 44
经典问题
∑
dp[L][i][j] = dp[L − 1][i][k] × A[k][j]
矩阵乘法,dp[L] = AL
快速幂。
O(n3 log L)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 6 / 44
欧拉回路
欧拉路径:经过一张图所有边恰好一次的路径。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 7 / 44
欧拉回路
欧拉路径:经过一张图所有边恰好一次的路径。
欧拉回路:起点终点相同的欧拉路径。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 7 / 44
欧拉回路存在的条件
无向图
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 8 / 44
欧拉回路存在的条件
无向图
1) 图联通
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 8 / 44
欧拉回路存在的条件
无向图
1) 图联通
2) 所有点的度数都是偶数
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 8 / 44
欧拉回路存在的条件
无向图
1) 图联通
2) 所有点的度数都是偶数
有向图
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 8 / 44
欧拉回路存在的条件
无向图
1) 图联通
2) 所有点的度数都是偶数
有向图
1) 图联通
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 8 / 44
欧拉回路存在的条件
无向图
1) 图联通
2) 所有点的度数都是偶数
有向图
1) 图联通
2) 所有点入度等于出度
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 8 / 44
欧拉回路存在的条件
无向图
1) 图联通
2) 所有点的度数都是偶数
有向图
1) 图联通
2) 所有点入度等于出度
可以对点数和边数归纳证明。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 8 / 44
欧拉回路存在的条件
无向图
1) 图联通
2) 所有点的度数都是偶数
有向图
1) 图联通
2) 所有点入度等于出度
可以对点数和边数归纳证明。
i → j 的欧拉路径存在当且仅当加上边 j → i 后存在欧拉回路。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 8 / 44
Fleury 算法
搜搜搜!
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 9 / 44
Fleury 算法
搜搜搜!
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 9 / 44
Fleury 算法
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 10 / 44
Fleury 算法
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 11 / 44
Fleury 算法
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 12 / 44
Data Center Drama
你有一张 n 个点 m 条边的联通无向图,现在你需要将每一条边定向,
使得每一个点的入度和出度都是偶数。
初始给定的图不一定有解,你需要给这张图加上数量尽可能少的边,
使得新图有解并输出一个方案。
n ≤ 105 , m ≤ 2 × 105
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 13 / 44
最短路
Floyd
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 14 / 44
最短路
Floyd
Dijkstra
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 14 / 44
最短路
Floyd
Dijkstra
SPFA
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 14 / 44
经典问题
给出一张 n 个点 m 条边的带正边权的简单无向图,问最小简单环长
度是多少。
n ≤ 300
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 15 / 44
经典问题
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 16 / 44
经典问题
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 16 / 44
经典套路
给出一张 n 个点 m 条边的带边权的无向图,你可以选择至多 K 条不
同的边并把它们的边权除以 2 下取整。最小化 1 到 n 最短路。
n, m ≤ 105 , K ≤ 10
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 17 / 44
有环图上的 DP 问题
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 18 / 44
有环图上的 DP 问题
Li = min(Lj , xi − ri ), Ri = max(Rj , xi + ri )
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 19 / 44
有环图上的 DP 问题
Li = min(Lj , xi − ri ), Ri = max(Rj , xi + ri )
有环,用最短路更新。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 19 / 44
有环图上的 DP 问题
Li = min(Lj , xi − ri ), Ri = max(Rj , xi + ri )
有环,用最短路更新。
栈连边优化。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 19 / 44
差分约束系统
限制形如 xi − xj ≤ wi 的线性规划问题。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 20 / 44
差分约束系统
限制形如 xi − xj ≤ wi 的线性规划问题。
建图。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 20 / 44
差分约束系统
限制形如 xi − xj ≤ wi 的线性规划问题。
建图。
有负环无解,否则最短路就是一个可行解。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 20 / 44
SCOI2011 糖果
你要准备一些糖发给一些小朋友,每个小朋友都必须拿到糖。同时小
朋友提出了一些要求你必须都满足:
1) i 的糖果比 j 多。
2) i 的糖果不少于 j 。
3) i 的糖果和 j 一样多。
问最少需要多少糖。无解输出-1。
n, m ≤ 105
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 21 / 44
拓扑排序
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 22 / 44
拓扑排序
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 22 / 44
拓扑排序
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 22 / 44
Poi2014 Rally
给定一张 n 个点 m 条边的有向无环图,你可以删掉其中一个点,最
小化新图的最长链。
n, m ≤ 105
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 23 / 44
Poi2014 Rally
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 24 / 44
Poi2014 Rally
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 24 / 44
Poi2014 Rally
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 24 / 44
Poi2014 Rally
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 24 / 44
Poi2014 Rally
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 24 / 44
火车模拟题的弱化版
给定一张有向图,你可以删掉一些边,使得剩下的图中没有环。问方
案数。
n ≤ 12
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 25 / 44
火车模拟题的弱化版
分层 DP。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 26 / 44
火车模拟题的弱化版
分层 DP。
时间复杂度 O(4n )
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 26 / 44
并查集
路径压缩,O(n log n)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 27 / 44
并查集
路径压缩,O(n log n)
按秩合并,O(n log n)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 27 / 44
食物链
有 3 种生物,第一种吃第二种,第二种会吃第三种,第三种吃第一种。
现在有 n 个生物个体,你依次获得了 m 条信息,每一条信息有 i 吃
j 和 i 与 j 同类两种,你需要判断这条信息是否和之前成立的信息矛盾,
如果不矛盾,这条信息成立。
n, m ≤ 105
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 28 / 44
食物链
并查集,第 i 种生物标记为 i − 1。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 29 / 44
食物链
并查集,第 i 种生物标记为 i − 1。
对每一个个体记录它与根的标记差。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 29 / 44
食物链
并查集,第 i 种生物标记为 i − 1。
对每一个个体记录它与根的标记差。
O(n log n)。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 29 / 44
数据结构题
给出一个数列,区间开根号,询问区间和。
n, m ≤ 105
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 30 / 44
数据结构题
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 31 / 44
数据结构题
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 31 / 44
数据结构题
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 31 / 44
数据结构题
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 31 / 44
最小生成树
Kruskal
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 32 / 44
最小生成树
Kruskal
Prim
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 32 / 44
最小生成树
Kruskal
Prim
一些耳熟能详的性质
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 32 / 44
DZY Loves Graph
给出一张无向图,初始只有 n 个点。
1) 在 u 与 v 之间插入一条边权为 i(操作编号)的边。
2) 删除当前图中边权最大的 k 条边。
3) 撤销第 i − 1 次操作,保证第 1 次与第 i − 1 次操作不是撤销操作。
n, m ≤ 3 × 105
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 33 / 44
DZY Loves Graph
只有插入的话并查集就可以了。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 34 / 44
DZY Loves Graph
只有插入的话并查集就可以了。
如果没有撤销,删除操作相当于撤回前 k 次插入,按秩合并的并查
集即可。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 34 / 44
DZY Loves Graph
只有插入的话并查集就可以了。
如果没有撤销,删除操作相当于撤回前 k 次插入,按秩合并的并查
集即可。
有了撤销,唯一的影响只有撤销删除操作。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 34 / 44
DZY Loves Graph
只有插入的话并查集就可以了。
如果没有撤销,删除操作相当于撤回前 k 次插入,按秩合并的并查
集即可。
有了撤销,唯一的影响只有撤销删除操作。
如果删除后是撤销,直接输入撤回前 k 次插入的答案,否则执行撤
销。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 34 / 44
DZY Loves Graph
只有插入的话并查集就可以了。
如果没有撤销,删除操作相当于撤回前 k 次插入,按秩合并的并查
集即可。
有了撤销,唯一的影响只有撤销删除操作。
如果删除后是撤销,直接输入撤回前 k 次插入的答案,否则执行撤
销。
撤回后的答案可以用一个栈直接记录。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 34 / 44
DZY Loves Graph
只有插入的话并查集就可以了。
如果没有撤销,删除操作相当于撤回前 k 次插入,按秩合并的并查
集即可。
有了撤销,唯一的影响只有撤销删除操作。
如果删除后是撤销,直接输入撤回前 k 次插入的答案,否则执行撤
销。
撤回后的答案可以用一个栈直接记录。
O(n log n)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 34 / 44
树
两个点的 LCA。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 35 / 44
树
两个点的 LCA。
路径权值最小值。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 35 / 44
树
两个点的 LCA。
路径权值最小值。
判断两条链是否相交。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 35 / 44
树
两个点的 LCA。
路径权值最小值。
判断两条链是否相交。
直径的一些性质。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 35 / 44
经典问题
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 36 / 44
DFS 序与 BFS 序
DFS 序:每一个节点所在的子树是一个区间
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 37 / 44
DFS 序与 BFS 序
DFS 序:每一个节点所在的子树是一个区间
BFS 序:每一个节点的深度为 d 的所有孩子是一个区间。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 37 / 44
经典问题
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 38 / 44
一个小套路
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 39 / 44
一个中套路
有 n 个城市连成了树的形状,你需要选择一些城市建立你的国家,之
后你会将所有连接你的城市和其他城市的边切断。你的国家必须满足:
1) 1 号城市在你的国家中
2) 国家中每一对城市都可以通过没有被切断的道路相互到达。
切断道路后将所有城市分成了很多个联通块,每一个联通块都发展成
了一个国家。
每个城市都有一个繁荣值 wi ,一个国家的繁荣值为国家内所有城市繁
荣值之和。
你要选择至多 k 个其他国家建交,建交后定义你国家的稳定度为你国
家的繁荣值加上 a× 所有与你建交的国家的繁荣值之和。最大化你的国
家的稳定度。
n ≤ 105 , k ≤ 500
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 40 / 44
一个中套路
http://bestcoder.hdu.edu.cn/solutions.php?page=8
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 41 / 44
树链剖分
每个节点连向它最大的孩子,把剩下的边拆掉。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 42 / 44
树链剖分
每个节点连向它最大的孩子,把剩下的边拆掉。
每个节点到根节点只经过了 O(log n) 条链。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 42 / 44
树链剖分
每个节点连向它最大的孩子,把剩下的边拆掉。
每个节点到根节点只经过了 O(log n) 条链。
任意路径只经过了 O(log n) 条链。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 42 / 44
树链剖分
每个节点连向它最大的孩子,把剩下的边拆掉。
每个节点到根节点只经过了 O(log n) 条链。
任意路径只经过了 O(log n) 条链。
求出树的 DFS 序(优先遍历重链),那么每一条路径都对应了
O(log n) 个区间。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 42 / 44
树链剖分
每个节点连向它最大的孩子,把剩下的边拆掉。
每个节点到根节点只经过了 O(log n) 条链。
任意路径只经过了 O(log n) 条链。
求出树的 DFS 序(优先遍历重链),那么每一条路径都对应了
O(log n) 个区间。
树问题 → 区间问题
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 42 / 44
树链剖分
每个节点连向它最大的孩子,把剩下的边拆掉。
每个节点到根节点只经过了 O(log n) 条链。
任意路径只经过了 O(log n) 条链。
求出树的 DFS 序(优先遍历重链),那么每一条路径都对应了
O(log n) 个区间。
树问题 → 区间问题
线段树 O(log2 n)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 42 / 44
有时间的话瞎逼讲一点扩展
哼唧讲到这儿怎么可能还会有时间呢。
做课件好麻烦的算了就不做了吧。
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 43 / 44
谢谢大家
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
吉如一 (杭州天水幼儿园) 树与图 44 / 44