摘要:题目链接:https://vjudge.net/problem/UVA-11324 题目大意:给定一张有向图G,求一个结点数最大的结点集,集合中每两个点都至少有一条路径相连(方向任意)。 题解: 易知如果一个点被选择,则它所在强连通分量中的其他点也一定要选,如果不选,则其他点也不可选,因此先求出强连 阅读全文
posted @ 2017-04-15 22:17 Robin! 阅读 (59) 评论 (0) 编辑
摘要:两次dfs模板: 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define INF 0x3f3f3f3f 4 #define M(a, b) memset(a, b, sizeof(a)) 5 const int N = 1000 + 5; 阅读全文
posted @ 2017-04-15 21:39 Robin! 阅读 (31) 评论 (0) 编辑
摘要:题目链接:https://vjudge.net/problem/UVA-10765 题目大意:一个无向图中,求去掉每个点后的连通分量的数量。 题解: 这题实际上是求割顶,记录一下割顶的子孙当中反向边不在它之上的连通分量数量,最后加上图初始的连通分量数量。 代码: 阅读全文
posted @ 2017-04-15 20:45 Robin! 阅读 (65) 评论 (0) 编辑
摘要:给你一个长度为N的数组,一个长为K的滑动的窗体从最左移至最右端,你只能见到窗口的K个数,每次窗体向右移动一位,如下表: 你的任务是找出窗口在各位置时的max value,min value. 单调队列的入门题,单调队列我的理解有对时间和大小都单调,只会在队列两端进行操作(队尾前移看大小,队头后移看时 阅读全文
posted @ 2017-04-15 19:45 Robin! 阅读 (55) 评论 (0) 编辑