
tarjan
CaprYang
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
迷宫城堡 HDU - 1269 tarjan
题解 题目的就是问所给的图是不是强连通图,有向图找强连通可以使用tarjan算法求出强连通分量个数,如果为1则输出Yes AC代码 #include <stdio.h> #include <bits/stdc++.h> #define fs first #define sc second using namespace std; typedef long long ll; ...原创 2019-02-12 19:45:37 · 454 阅读 · 0 评论 -
Strongly connected HDU - 4635 tarjan
题解 题目大意 给一个简单有向图,问最多能添加多少条边保证图仍是简单图且不是强连通图,如果本身就是强连通输出-1 每个强连通分量作为一个整体看待,所以使用tarjan将每个强连通分量缩为一个点,考虑这些点选择一个点使得其他点只能到达这个点或者只能从这个点到达其它点(也就是单向联通) 如果这个点选在某个链的非端点位置则需要满足这个条件会让很多点都同时满足这个条件,这样得到的答案肯定不是最优 所以要选...原创 2019-02-12 20:00:03 · 660 阅读 · 0 评论 -
Educational Codeforces Round 49 (Rated for Div. 2) D. Mouse Hunt tarjan | 拓扑排序
题解 题目大意 有一些房间 每个房间布置老鼠夹需要一定代价 一个房间只能单向到达另一个房间 老鼠最开始可能出现在任何房间 问无论如何都能抓到老鼠的最小代价 按照题意 如果在一个环上则只需要在环内选取一个最小代价的点,如果在一个链上则只需要选取链的终点(终点可以为环) tarjan: 使用tarjan算法求出有向图的强连通分量,并缩为一个点代价为强连通分量内最小代价,最后只需要对缩点后出度为0的点求...原创 2019-02-12 20:11:58 · 544 阅读 · 0 评论 -
河南省第十一届ACM大学生程序设计竞赛 部分题解
题目链接 A 计划日 #include <stdio.h> #include <bits/stdc++.h> using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; const ll LINF = 0x3f3f3f3f3f3f3f3f; bool leapyear(int y) { ...原创 2019-04-18 19:50:48 · 1118 阅读 · 0 评论