
数据结构——图
文章平均质量分 79
XDU_Skyline
Everything is over, everything is just beginning.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
习题6-4 骑士的移动 UVa439
1.题目描述:点击打开链接2.解题思路:典型的BFS,原创 2014-08-29 17:32:35 · 662 阅读 · 0 评论 -
#292 (div.2) D.Drazil and Tiles
1.题目描述:点击打开链接2.解题思路:本题一开始迟迟没有好的思路,随后通过思考,发现应该用贪心法解决:首先应该着力填充周围只有一个空格的点,随后以它的空格为中心,再不断向外拓展,直到整个界面被填充。这样便解决了本题。3.代码:#define _CRT_SECURE_NO_WARNINGS #include#include#include#include#include#i原创 2015-03-02 12:11:04 · 861 阅读 · 0 评论 -
#306 (div.2) D. Regular Bridge
1.题目描述:点击打开链接2.解题思路:本题属于一道图论的构造题。要求构造出一张无向图,其中所有的顶点的度数均为k,且至少含有一个桥。这道题在比赛时候没有任何思路,因为始终想象不出来k>1的情况。比赛结束后终于尝试画出了k=3的情况。然后摸索出来了做题方法。首先,对于k等于偶数的情况,一定是不存在解的。假设顶点0是桥的一个端点,那么将桥断开后,它和所在的连通分量的2m-1个点相连(设k=2原创 2015-06-09 18:52:29 · 777 阅读 · 0 评论 -
例题6-16 单词 UVa10129
1.题目描述:点击打开链接2.解题思路:本题利用欧拉回路存在条件解决。可以将所有的单词看做边,26个字母看做端点,那么本题其实就是问是否存在一条路径,可以到达所有出现过的字符端点。由于本题还要求了两个单词拼在一起的条件是前一个单词的右端点和本单词的左端点一样。所以这是一个有向图。根据结论:有向图的底图(忽略边的方向后的图)必须连通;有向图中最多只能有两个端点的入度不等于出度,且必须是其中一点的原创 2015-03-31 16:20:34 · 857 阅读 · 0 评论 -
习题6-14 检查员的难题 UVa12118
1.题目描述:点击打开链接2.解题思路:本题利用DFS和欧拉道路解决。本题其实要求找一些路径,使得和要求经过的那些路径能够组成欧拉道路(注意不是欧拉回路,“欧拉道路”是指除了起点和终点外,路径上的其他点的入度等于出度的道路)。首先用dfs来判断连通性,这里用dfs还有另外一个原因就是要统计度数为奇数的点的个数,因为这样的点都需要额外添加一条道路使其度数变为偶数,符合欧拉道路的要求。由于添加一条原创 2015-04-01 23:32:01 · 1078 阅读 · 0 评论 -
例题6-19 自组合 UVa1572
1.题目描述:点击打开链接2.解题思路:本题利用拓扑排序解决。拓扑排序适用于有向图,图中的结点满足给定的“连接”法则而形成一张有向图,通过拓扑排序,可以判断该图中是否含有有向环。本题如果直接按照题意去一个个地尝试拼接正方形,会很耗费时间,因为n的数目会非常大。如果我们进一步抽象,将正方形的标号看做一个拼接点,由于00不能作为拼接点,因此总共有26*2=52个点,那么如果存在另一个正方形B可以和原创 2015-04-02 13:24:50 · 1810 阅读 · 3 评论 -
#296 (div.2) D. Clique Problem
1.题目描述:点击打开链接2.解题思路:比赛时感觉这道题应该会比较难,谁知道看了别人的代码后发现自己真的是被这只纸老虎吓住了==。假设点Xi>Xj,那么绝对值符号可以去掉,即Xi-Xj≥Wi+Wj。移项可以得到Xi-Wi≥Xj+Wj。这样的话,其实就确定了一个有向图的关系,题目转化为找结点数最多的有向图。运用贪心的思想,肯定希望第一个结点的坐标尽量小,以便于容纳更多的结点。因此事先计算出P(X原创 2015-04-08 21:35:32 · 670 阅读 · 0 评论 -
例题7-9 万圣节后的早晨 UVa1601
1.题目描述:点击打开链接2.解题思路:这道题是稀疏图存储+BFS,只要存储好稀疏图,本题就不难解决,但还是怪自己太年幼,不会写稀疏图,磕磕绊绊自己敲了一天样例还有一个没过==,最后弃疗直接学习大牛们的代码。有很多值得学习的地方,关键位置都标记了注释。3.代码:#define _CRT_SECURE_NO_WARNINGS#include#include#include#i原创 2015-02-01 21:29:41 · 1764 阅读 · 0 评论 -
例题6-22 战场 UVa11853
1.题目描述:点击打开链接2.解题思路:本题初看起来比较麻烦,不妨简化一下:先判断是否有解,再考虑如何求出解。根据题意描述,相当于在一个正方形中有若干个圆形障碍物,问是否能从左边界走到右边界。判断是否有解需要一点创造性的思维:不妨把正方形当做一个湖,所有的圆形都是垫脚石,假设我们可以从上边界“踩着”垫脚石成功走到下边界,说明左右边界是不连通的;否则就是连通的。想到了这里,便不难用dfs或bfs原创 2015-03-31 18:54:47 · 1756 阅读 · 2 评论 -
例题6-20 理想路径 UVa1599
1.题目描述:点击打开链接2.解题思路:本题要求寻找一条从1到n的路径,使得经过的边数最少,若边数相同时,输出字典序最小的那条路径。路径问题用BFS解决,但本题需要用两次BFS,第一次来统计所有点到n的路径长度;第二次从1出发,沿着路径长度恰好每次减一的点逐步走到终点,但由于从u到v满足d[u]-d[v]==1的路径有多条,需要扫描所有这些路径,找颜色值最小的那条,这就是第二次BFS的目的所在原创 2015-02-10 16:56:59 · 3349 阅读 · 3 评论 -
HDU 5452 Minimum Cut (2015年沈阳赛区网络赛C题)
1.题目描述:点击打开链接2.解题思路:本题要求找到一个最小割,使得只有一条边属于生成树上的。观察后可以发现,只有选择在树上的度为1的点才可行,因为如果这个点在生成树上的度大于1,那么显然只删除树上的一条边,他仍然和整个图是连通的。这样,只需要找到树上的度为1的点,然后用它在图中的度更新答案即可。3.代码:#include#include#include#include#inc原创 2015-10-20 22:44:38 · 869 阅读 · 0 评论