题意:
给n对炸弹可以放置的位置(每个位置为一个二维平面上的点),每次放置炸弹是时只能选择这一对中的其中一个点,每个炸弹爆炸的范围半径都一样,控制爆炸的半径使得所有的爆炸范围都不相交(可以相切),求解这个最大半径.
思路:二分半径,建图再2-sat判有无解。
收获:原来tarjan执行后,在同一个强连通分量里的low[]也不一定相同,我以为一定相同,直接用low来是否在一个判...
分类:
其他好文 时间:
2015-05-05 14:34:24
阅读次数:
128
强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量。
把一个图变为一个强连通图需要添加边数:先求出原图的强连通分量,缩点后变为有向无环图,计算新图入度为0的点的个数SumIn和出度为0的点的个数SumOut,...
分类:
其他好文 时间:
2015-05-05 14:32:38
阅读次数:
188
题目链接:Regionals 2013 Asia - Daejeon
6500 Boxes
题意:将箱子(矩阵的1)全移动到矩阵的底部需要几步
思路:按列从下到上统计。(n,m)的矩阵,移动一个箱子(x,y),如果有c个箱子在底部,那么移动该箱子的步数是(n-x-c-1)。
AC代码:
#include
#include
int mp[110][110];
int main()
...
分类:
其他好文 时间:
2015-05-02 11:15:06
阅读次数:
127
题目链接:点击打开链接
给定n个人,车的载人量m
下面给出a[i]数组
想要邀请i上车,必须先邀请a[i]上车
问:最多能邀请到多少人。
观察得到,这是一个有向图,按照i->a[i]建边后得到的图是类似于树形,但链的尾部是一个简单环。
如下:
5 2
2 3 4 1 4则我们必须先同时邀请1234,才能邀请5.
所以建立一个反图(即边的方向相反),然后强连通缩点一下,这样就得到了一...
分类:
其他好文 时间:
2015-04-30 14:15:26
阅读次数:
92
Going from u to v or from v to u?
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 15196
Accepted: 4013
Description
In order to make their sons brave, Jiaji...
分类:
编程语言 时间:
2015-04-27 18:27:18
阅读次数:
199
Description
Input
Output
Sample Input
4 4
1 2 3 4
Sample Output
4
HINT
Source
NCPC 2014
#include
#include
#include
using namespace...
分类:
编程语言 时间:
2015-04-26 19:48:33
阅读次数:
273
分析:首先求强连通分量的个数,然后进行缩点,最后求出最终答案。
1、求强连通分量的个数使用tarjan算法。
2、缩点为另外一个图,通过tarjan算法求出的结果进行。缩点后的图中求出每个点的入度。
3、求出每个强连通分量中的最小花费。
4、根据缩点后图的入度求出最终结果。
#include
#include
#include
using namespace std;
vect...
分类:
编程语言 时间:
2015-04-25 15:12:01
阅读次数:
182
分析:本题判断一个图是否是有向强连通分量,这里使用tarjan算法求解。
#include
#include
#include
using namespace std;
vector map[10002];
stack tarjan_stack;
int low[10002];
int dfn[10002];
bool vis[10002];
int cnt,pos;
void Init(i...
分类:
编程语言 时间:
2015-04-25 13:46:55
阅读次数:
150
题目大意:
n个间谍 他们之间传送信息需要一定的时间一个联通分量里面的间谍属于一个国家,之间的信息传递不需要时间然后问你从一个间谍传一个信息到另一个间谍那需要最少时间 也可能传不到
思路:先缩点,再最短路,由于n最大只有500.可以用邻接矩阵,而且对缩点后的DAG的边权可以做贪心处理,只留两个强连通分量间的最短边长即可。
//2852K 297MS C++ 2595B
#include
...
分类:
其他好文 时间:
2015-04-24 09:08:58
阅读次数:
147
先并查集,然后最小生成树,最短路,强连通,双连通,LCA,二分匹配,网络流,2-sat这部分搞完后,开始树直径,树重心,欧拉回路,树分治
分类:
其他好文 时间:
2015-04-23 21:41:17
阅读次数:
138