
acm_图论
GrimCake
这个作者很懒,什么都没留下…
展开
-
POJ-3660 cow contest(floyd求传递闭包)
N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we all know, some cows code better than others. Each cow has a certain constant skill rating that原创 2017-07-12 10:17:35 · 307 阅读 · 0 评论 -
UVa-11396 Claw Decomposition(二分图判断)
题目大意是:给出n个节点的无向图,每个点的度数为3,判断他是否能分解成若干个抓(就是一个点连三条边),其中,每个点可以出现在多个爪中,但每条边只能出现在一个爪中。分析:可以这么考虑,每个点要么就是中心点,要么就不是。另外,中心点不能和中心点相连,因为每个点只能连三条边。非中心点也不能和非中心点相连,不然这条边就不属于任何一个爪,所以就判断是不是二分图就好,数据的输入一定都是符合一个点连三条边的原创 2017-07-29 21:33:11 · 285 阅读 · 0 评论 -
UVA - 10765 Doves and bombs (点双连通分量)
题意:给定一个n个点的连通无向图,一个点的鸽子值定义为将它从图中删去后连通块的个数。求每个点的鸽子值。分析:其实就是求割项,然后统计每个割项属于多少个块,注意输出的顺序,题目要求输出m个,鸽子值大的先输出,如果鸽子值相同,则按照节点序号升序输出,所以要sort排一下序。另外输出的不一定是割点,如果不是割点,去掉后块的个数为1(图本身算一个块),所以每个节点的鸽子值要初始化为1#includ原创 2017-07-30 11:05:12 · 290 阅读 · 0 评论 -
poj-2253 Frogger(dijkstra变形)
这道题有助于理解迪杰斯特拉的本质,感觉该算法更像是一种遍历图的思想而不仅仅是用来求最短路题意是,每一条路径都有一个跳的最大值,比如在某一条路径中,跳的距离依次是2 3 1 6 5 那么这个最大值就是6. 任务是找出所有路径的最大值中的最小值用d[j]表示从起始点到该点所有路径最大值中的最小值。#include#include#include#define原创 2017-07-10 10:31:45 · 479 阅读 · 0 评论 -
UVa-657 The die is cast(dfs嵌套)
题意:就是找每一个*区域中有多少个X区域,相连的条件是有公共边,公共点不算分析:用两次dfs,dfs1用来搜索*区域,并把每一个*变为 . , 在这个过程中如果碰到X,则执行dfs2,用来搜索与该X相连的其他X,并且把X变为*这道题有一个细节就是,在dfs1中,必须先搜索X,在搜索*,看这样一个例子:6 6原创 2017-08-31 17:10:15 · 320 阅读 · 0 评论 -
codeforces-103B Cthulhu
链接:http://codeforces.com/problemset/problem/103/B题意:给定一个图,判断该图是否由若干棵树的树根构成一个环题解:先并查集判连通,并且满足n=m#include<iostream>#include<cstring>#include<map>#include<vector>#include<c...原创 2018-04-16 22:07:40 · 353 阅读 · 0 评论