摘要:
$tarjan$ 算法求强连通分量 $tarjan$算法简介 我在这篇博客中讲过$tarjan$算法的简介和求割点与桥,就不再讲述。 强连通分量 强连通图是指一个有向图内任意两点都能互相到达,强连通分量就是指一个图的极大(再加一个点就不是了)强连通子图。 思路 和割点与桥类似,还是先把图变成$dfs 阅读全文
摘要:
$tarjan$求割点和桥 $tarjan$算法 $tarjan$算法是一个图论算法,它可以求割点,桥,双连通分量,强连通分量等东西。 $tarjan$算法求割点 思路 $tarjan$算法的思路是先通过$dfs$的方式把图建成一棵树,原来的便就分成了在树上的树边和不在树上的虚边,如下图: 这个图通 阅读全文
摘要:
【模板】最小生成树(普利姆)(克鲁斯卡尔) 题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出 orz。 输入格式 第一行包含两个整数 $N,M$,表示该图共有 $N$ 个结点和 $M$ 条无向边。 接下来 $M$ 行每行包含三个整数 $X_i,Y_i,Z_i$,表示有一条长度为 阅读全文
摘要:
[yLOI2018] 扶苏的问题 题目描述 给定一个长度为 $n$ 的序列 $a$,要求支持如下三个操作: 给定区间 $[l, r]$,将区间内每个数都修改为 $x$。 给定区间 $[l, r]$,将区间内每个数都加上 $x$。 给定区间 $[l, r]$,求区间内的最大值。 输入格式 第一行是两个 阅读全文
摘要:
【模板】最近公共祖先(LCA)(RMQ) 题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入格式 第一行包含三个正整数 $N,M,S$,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来 $N-1$ 行每行包含两个正整数 $x, y$,表示 $x$ 结点和 $y$ 阅读全文
摘要:
【模板】ST 表 题目背景 这是一道 ST 表经典题——静态区间最大值 题目描述 给定一个长度为 $N$ 的数列,和 $ M $ 次询问,求出每一次询问的区间内数字的最大值。 输入格式 第一行包含两个整数 $N,M$,分别表示数列的长度和询问的个数。 第二行包含 $N$ 个整数(记为 $a_i$), 阅读全文
摘要:
【模板】最近公共祖先(LCA) 题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入格式 第一行包含三个正整数 $N,M,S$,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来 $N-1$ 行每行包含两个正整数 $x, y$,表示 $x$ 结点和 $y$ 结点之间 阅读全文
摘要:
恨 7 不成妻 题目描述 单身! 依然单身! 吉哥依然单身! DS 级码农吉哥依然单身! 所以,他平生最恨情人节,不管是 214 还是 77,他都讨厌! 吉哥观察了 214 和 77 这两个数,发现: 最终,他发现原来这一切归根到底都是因为和 7 有关!所以,他现在甚至讨厌一切和 7 有关的数! 什 阅读全文