随笔分类 - ACM---图论
摘要:题意:通过交换行或者列来实现对角线(左上角到右下角)上都是1, 首先,如果某行全是0或者某列全是0必然不满足情况输出-1,如果能转换的话,那么必然可以通过全由行(列)变换得到; 还有就是对角线上的N个1,它们各自在不同的行中出现至少一次才可以, 比如样例2中,虽然有两个1,但是它们总是处在同一列,仍
阅读全文
摘要:题目链接:http://poj.org/problem?id=3177 题意:有n个牧场,Bessie 要从一个牧场到另一个牧场,要求至少要有2条独立的路可以走。现已有m条路,求至少要新建多少条路,使得任何两个牧场之间至少有两条独立的路。两条独立的路是指:没有公共边的路,但 可以经过同一个中间顶点。
阅读全文
摘要:题目链接 题意: 有n个电脑1-n,m个连接,由于可能存在一些桥,如果这些桥出现了问题,那么会导致一些电脑之间无法连接, 所以建立链接Q次,每次链接a和b电脑,求链接ab后还存在几个桥; 如果说在ab之间建立连接, a和b的最近祖先(LCA),那么从a到LCA之间和b到LCA之间的桥都将不在是桥了
阅读全文
摘要:题目链接 题意:学校有一些单向网络,现在需要传一些文件 求:1,求最少需要向几个学校分发文件才能让每个学校都收到, 2,需要添加几条网络才能从任意一个学校分发都可以传遍所有学校。 解题思路(参考大神的): 1. 求出所有强连通分量 2. 每个强连通分量缩成一点,则形成一个有向无环图DAG。
阅读全文
摘要:题目链接求次短路的问题;dist[i][0]和dist[i][1]表示从起点1到i的距离和从起点n到i的距离;次短路要比最短路大但小于其他路;每条路1--n的距离都可以用dist[i][0] + dist[j][1] + G[j].w表示;、、具体的可以仔细想想; #include #include #include #include #include #include #inclu...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3026题意:可以理解为给你一个地图上面有S和A的表示一个一个的点,#表示墙,所以需要我们用bfs来计算各点之间的距离;b[i][j] = p;代表map[i][j]的位置的点的编号为p;D[i][j] 代表编号为i和j的距离;#incl...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2031 n个球型的cell,如果任意两个球表面没有接触或者没有包含关系,就选择最近的表面建立通道; 所以用maps[i][j]表示i,j之间的距离;最后求所有连接的和的最小值; 注意: poj上:对于双精度输出,G++上面要用%f,C+
阅读全文
摘要:题目链接: http://poj.org/problem?id=2421 想把n个村庄连接在一起;求最小生成树,不同的是已经有了m条线段链接在一起了,求剩下的; 感觉用Kruskal会简单一点
阅读全文
摘要:http://poj.org/problem?id=1287 最小生成树模板题类似的还有:poj1258 hdu1233代码几乎一样; 最小生成树详解
阅读全文
摘要:题目链接:http://poj.org/problem?id=2492 题意是问是否存在同性恋, 就是a喜欢b,b喜欢c,a又喜欢c,所以就有同性恋了; #include<stdio.h> #include<string.h> #include<iostream> #include<algorith
阅读全文

浙公网安备 33010602011771号