随笔分类 -  图论——tarjan

摘要:https://ac.nowcoder.com/acm/problem/211810 小米邀请赛第一场D题 #include<bits/stdc++.h> #define LL long long #define DB double #define IL inline #define p(a) pu 阅读全文
posted @ 2020-11-26 22:33 WeiAR 阅读(102) 评论(0) 推荐(0) 编辑
摘要:挺有意思的一个建图,夫妻之间男->女,前任之间女到男,然后判断强连通分量 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar(a) #define For(i,a,b 阅读全文
posted @ 2020-08-05 10:55 WeiAR 阅读(124) 评论(0) 推荐(0) 编辑
摘要:这是一个非常nice的题:1.map去重边,n的话有1e5, 1 const long long base[]={20200422,1000000007,9997,7}; 2 mp[E[i].l*base[1]+E[i].r*base[2]+E[i].v*base[3]]++; 这样来判断这条边的个 阅读全文
posted @ 2020-04-25 05:53 WeiAR 阅读(168) 评论(0) 推荐(0) 编辑
摘要:Gym - 100712H tarjan无向图缩点+树上直径 #include<iostream> #include<cstdio> #include<queue> #include<algorithm> #include<cmath> #include<ctime> #include<set> # 阅读全文
posted @ 2020-03-11 22:59 WeiAR 阅读(181) 评论(0) 推荐(0) 编辑
摘要:Gym 100712Hhttps://vjudge.net/problem/195715/origin先缩点,再建立新图,然后跑两遍dfs求树上最长路 #include<iostream> #include<cstdio> #include<queue> #include<algorithm> #i 阅读全文
posted @ 2019-07-20 13:28 WeiAR 阅读(238) 评论(0) 推荐(0) 编辑
摘要:poj 2186tarjan缩点板子题缩完点之后是有向无环图,要想其他点都能到达,那么它的出度为0,不然随意连就会出现环,如果出度为0的点的个数不是1,肯定就凉了。 #include<iostream> #include<cstdio> #include<queue> #include<algori 阅读全文
posted @ 2019-01-31 16:14 WeiAR 阅读(122) 评论(0) 推荐(0) 编辑
摘要:tarjan目的:求极大强联通分量复杂度:O(n+m);dfn[]表示这个点是第几次被dfs到的low[]指极大强联通分量中最先被dfs到的,如果dfn[]==low[]那么它就是极大强联通分量中的祖先用栈储存 1 #include<iostream> 2 #include<cstdio> 3 #i 阅读全文
posted @ 2019-01-30 15:18 WeiAR 阅读(113) 评论(0) 推荐(0) 编辑