摘要:
http://poj.org/problem?id=3352无向图强连通分量缩点 知道一个等式:若要使得任意一棵树,在增加若干条边后,变成一个双连通图,那么至少增加的边数 =( 这棵树总度数为1的结点数 + 1 )/ 2 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define N 1010 9 #define M 201010 struct node11 {12 int u,v,next;13 }edge[M];14 stacks;15 int... 阅读全文
摘要:
http://poj.org/problem?id=3114缩点+DIJK 注意缩点之后有重边啊 floyd会TLE 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define N 510 8 #define M 301000 9 #define INF 0xfffffff 10 using namespace std; 11 struct node 12 { 13 int u,v,next,w; 14 }edge[M]; 15 int t,low[N],pre[N],scc... 阅读全文
摘要:
http://poj.org/problem?id=3592提交了30多次了 受不了了 两份的代码基本上一样了 一个AC一个WA 木办法 贴份别人的吧 改得跟我得一样 人家能A 我是WA。。强连通分量缩点 用spfa算出最长路 注意算强连通时加过的值就不再加了 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 const int NN=1606; 9 const int MM=1000000; 10 const int INF=0x3f... 阅读全文