最后果断发现LRJ的白书就是。。。
然后发现百度百科上面那个tarjan算法图讲解还是不错的吧。 个人感觉理解度 80%应该有了。
深受各种大牛不看题解,不用模板启发,看懂思路代码必须自己敲一下。
这个算法挺好。 顺便学会了有向图强连通缩点后求入度出度。
两题就是一样, 靠入度出度来解决最后的问题。
深感各种题都的会DP,自己还是都得接触,一点不接触DP全靠队友本来就是不科学的做法。。。
------By Besyes~【写题解只为自己复习方便,不为别的。】
#include#include #include #include #include #include #include using namespace std; const int maxn=10000; int pre[maxn],sccno[maxn],low[maxn]; int in[maxn],out[maxn]; vector G[maxn]; int scc_cnt,dfs_clock; stack s; void dfs(int u) { pre[u]=low[u]=++dfs_clock; s.push(u); for(int i=0;i