图论-双连通
Toooooocold
这个作者很懒,什么都没留下…
展开
-
Codeforces 732F Tourist Reform
先用边-双连通的方式缩点,然后就能发现包含城市最多的那个点就是答案。点内肯定有环,直接连就行了,剩下的割边都指向城市最多的那个点。 代码: #includebits/stdc++.h> using namespace std; typedef pairint, int> PII; const int MAXN= 4e5+5; vectorPII> G[MAXN]; vectorP原创 2016-12-01 23:50:02 · 267 阅读 · 0 评论 -
HDU 6041 I Curse Myself
仙人掌图。 每个环删一条边就能得到一棵生成树。 每个环都是一个边集,跑出点双连通后,可以用优先队列将这些边集合并出前K大的合集。 输出%u,就不用再对(1 代码: #include #define fi first #define se second #define pb push_back #define CLR(A, X) memset(A, X, sizeof(A)) us原创 2017-07-27 20:07:23 · 457 阅读 · 0 评论 -
CodeForces Gym101158H Animal Companion in Maze
给一张图,图上的边有单向边也有双向边。双向边有一项限制是,当使用一条双向边从A->B时,不可以立刻使用这条边回去。如果图中有环,输出INF,否则输出最长路径长度。原创 2017-11-28 16:23:04 · 467 阅读 · 0 评论