标签:图论-Tarjan

题意有 $N$ 个数和 $M_1+M_2$ 种关系。前 $M_1$ 种关系 $(x,y)$ 表示 $S_x+1=S_y$ ,后 $M_2$ 种关系表示 $S_x\le S_y$ 。求最多有多少个数字值。如果无解输出 NIE 。$N\le 600 , M_1+M_2\le 100000$ 。题解不等式关系可以先差分约束建图。边 $(x,y)$ 的权值表示 $S_x-S_y$ 的最大值,对于 $...
题解 图论-最短/最长路 图论-差分约束 图论-Tarjan
省选/NOI-
题意给出一个 $n$ 点 $m$ 边的有向图,从 $1$ 出发再回到 $1$ ,途中要逆行一次,问途中最多经过多少个点。$n,m\le 10^{5}$ 。题解显然要缩点,缩点后点权即为连通分量中点的个数 $\text{siz[]}$ 。然后对强连通分量重新建边,正边为 $\text{edge2}$ ,反边为 $\text{edge3}$ 。对正边跑最长路得到以 $1$ 为起点的最长路 $\t...
题解 图论-最短/最长路 图论-Tarjan
省选/NOI-
题意一个有向图,求:至少选多少个起点才可以遍历整个图至少加几条边,能满足从任意一个点出发都能遍历整张图其中点数 $N\le 100$ 。题解显然可以先缩点,然后对题意进行转化:入度为 $0$ 的点的个数加最少的边,让整张图成一个环问题 $1$ 很显然,对于问题 $2$ ,可以把所有入度为 $0$ 和出度为 $0$ 的节点相连,所以答案即为两者的较大值。#include<bits/std...
题解 图论-Tarjan 图论-缩点
提高+/省选-
题意在无向图上指定起点和终点,要求找一个节点 $x$ ,使得起点 $st$ 和终点 $ed$ 间所有路径都经过它。其中点数 $N\le 100$ 。题解显然 $x$ 肯定是在起点终点路径上的割点,因为去掉它后起点后终点所在的块就不再连通。那么从起点出发,找一个割点,保证它与终点连通,即满足 $id[ed]\geq id[y]$ 就行了。还有 $x$ 不能是起点或终点。#include<...
题解 图论-Tarjan 图论-割点
省选/NOI-
题意给出一个无向图,对于每个节点 $i$ ,求如果去掉这个节点有多少对点不能连通。其中点数 $N\le 100000$ ,边数 $M\le 500000$ 。题解因为是求点对,所以所有答案都要 $\times 2$ 。先考虑去掉的这个点,其它点都不能和它连通,所以 $ans+=(n-1)\times 2$ 。如果这个点是割点,那么去掉这个点还会对图上其它点有影响。在 $Tarjan$ 过程中...
题解 图论-Tarjan 图论-割点
省选/NOI-
题意给出一个无向图,要求在一些节点设置出口,要求任意一个节点爆了以后所有节点都能到达出口。其中边数 $M\le 500$ ,点数要自己推。题解先求出割点,然后对每个双连通分量求出节点个数 $siz$ 和割点个数 $cut$ ,分类讨论:双连通分量里没有割点,那么它无法与外界连通,只能自己内部修 $2$ 个出口,方案数为 $\dfrac {siz\times \left( siz-1\righ...
题解 图论-Tarjan 图论-割点
省选/NOI-
题意给一个无向图,要求任意两个点之间都至少有两条相离的路径,求最少的连边数。其中点数 $N\le 5000$ ,边数 $M\le 10000$ 。题解显然环上的节点都满足这个要求,所以题目可以理解成要求所有节点都在环上,那么可以先把已经有的环缩点。缩完点后就变成了一棵树,要让所有点在环上,那么把所有叶子节点之间两两连接即可。当然叶子节点也有可能有奇数个,所以需要连边的个数为 $(leaf+1...
题解 图论-Tarjan 图论-缩点
提高+/省选-
题意定义半连通图为对于 $\forall (u,v)$ ,存在从 $u$ 到 $v$ 或从 $v$ 到 $u$ 的有向路径。给出一个有向图,求最大半连通子图中的节点个数以及最大半连通子图的个数。其中点数 $N\le 100000$ ,边数 $M\le 1000000$ 。题解显然连通图也属于半连通图,那么可以先缩点,记录每个点的新编号 $scc[]$ 以及包含节点个数 $siz[]$ ,并删...
题解 动态规划 图论-Tarjan 图论-缩点 算法-拓扑排序
省选/NOI-
题意有 $N$ 头奶牛,奶牛都喜欢自己,并且有 $M$ 个单向喜欢关系。定义一头被所有奶牛喜欢的奶牛为受欢迎的,求有多少头受欢迎的奶牛。其中 $N\le 10000,M\le 50000$题解把喜欢关系转化为有向图,这样处于同一个强连通分量中的牛肯定是互相喜欢的,那么我们就可以把强连通分量给缩成点。然后反着考虑,如果一个点出度为 $0$ ,那么其他点就不可能受欢迎,受欢迎的就只有这一个点。这...
题解 图论-强连通分量 图论-Tarjan
提高+/省选-
标签
其它-Firefox1 其它-pbds1 其它-pjax1 其它-Ubuntu1 其它-VSCode1 其它-网易云音乐1 动态规划50 动态规划-区间DP9 动态规划-单调队列优化DP5 动态规划-图上DP1 动态规划-斜率优化DP5 动态规划-树形DP14 动态规划-状压DP16 动态规划-线性DP10 动态规划-背包DP2 图论4 图论-LCA3 图论-Tarjan9 图论-二分图1 图论-割点3 图论-基环树1 图论-差分约束3 图论-强连通分量1 图论-最小环1 图论-最小生成树6 图论-最短/最长路17 图论-树上差分2 图论-桥1 图论-缩点4 图论-负环3 字符串3 字符串-kmp2 思维题3 数学25 数学-bsgs2 数学-exgcd4 数学-gcd2 数学-中国剩余定理2 数学-卡特兰数1 数学-卢卡斯定理4 数学-快速幂4 数学-扩展中国剩余定理1 数学-扩展卢卡斯定理3 数学-矩阵5 数学-约数1 数学-组合数3 数学-质数1 数据结构-动态开点线段树1 数据结构-单调栈1 数据结构-单调队列2 数据结构-可持久化字典树2 数据结构-堆4 数据结构-字典树2 数据结构-栈1 数据结构-树状数组3 数据结构-树链剖分10 数据结构-线段树3 数据结构-队列1 比赛-Codeforces18 比赛-JX Round1 比赛-NOIp/CSP4 算法-二分/三分11 算法-位运算1 算法-倍增4 算法-分块2 算法-分治3 算法-哈希1 算法-多叉树转二叉树2 算法-差分4 算法-悬线法1 算法-拓扑排序1 算法-排序3 算法-搜索20 算法-模拟5 算法-状态压缩4 算法-贪心8 算法-高精度3 问题-逆序对2 题目-一本通5 题目-网络流24题2