回溯法
Chen丶HC
这个作者很懒,什么都没留下…
展开
-
HDUOJ 1045 Fire Net
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CLEAR(a, b)原创 2017-07-23 21:47:21 · 269 阅读 · 0 评论 -
例题7-7 天平难题(Mobile Computing, ACM/ICPC Tokyo 2005, UVa1354)
思路:由于每种天平都对应着一种二叉树,所以枚举出所有的二叉树。关键在于如何去枚举这些情况呢?想了好久。。。还是实现不出来。。orz。。参考了lls的代码。。受益匪浅。。1. 枚举子集:for (int left = (subset - 1)⊂ left; left = (left - 1)&subset)2. 求补集:int right = left^subset原创 2017-10-10 21:56:46 · 549 阅读 · 0 评论 -
例题7-6 带宽(Bandwidth, UVa 140)
注意要先为出现的节点进行编号。而且还要按字典序而非出现顺序。dfs枚举排列。#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2017-09-30 11:00:04 · 398 阅读 · 0 评论 -
例题7-5 困难的串(Krypton Factor, UVa 129)
这题乍一看好像是子集生成诶。。主要问题就在于没添加一个字符后判断是否有连续相同子串。。由于对每个串而言,所有的前缀都是已经判断过无相同的。。所以只需要判断后缀即可。#include #include #include #include #include #include #include #include #include #include #include #inc原创 2017-09-28 19:06:11 · 285 阅读 · 0 评论 -
例题7-4 素数环(Prime Ring Problem, UVa 524)
很直白的枚举排列问题。。用回溯法减少枚举量。。water。。用vis数组来加速判断。。#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #includ原创 2017-09-28 10:10:00 · 312 阅读 · 0 评论 -
习题7-2 黄金图形(Golygons, ACM/ICPC World Finals 1993, UVa225)
唯一需要注意的就是每个点只经过一次。回溯法求解即可。我写的好像有点慢,把不能过的点存数组应该能快些。1.03s#include #include #include #include #include #include #include #include #include #include #include #include #include #include #in原创 2017-10-22 20:26:42 · 314 阅读 · 0 评论 -
习题6-13 电子表格计算器(Spreadsheet Calculator, ACM/ICPC World Finals 1992, UVa215)
思路:dfs判环并求解每个单元格的数值。注意:字符串的处理,负数的判断。先特判了第一个字符。dfs写的有些丑陋。。。#include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2017-10-12 20:11:43 · 449 阅读 · 0 评论 -
习题7-1 消防车(Firetruck, ACM/ICPC World Finals 1991, UVa208)
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CLEAR(a, b) memset(a,原创 2017-10-22 10:35:41 · 431 阅读 · 0 评论 -
习题7-5 流水线调度(Pipeline Scheduling, UVa690)
初步实现,在数组上进行修改,程序冗杂。2.43s。最优性剪枝,记录下最小步长,假设以后每次最小步长仍无法更新ans,则return。放第二个时,记录下能走的步长。#include #include #include #include #include #include #include #include #include #include #include #incl原创 2017-10-28 18:46:32 · 616 阅读 · 0 评论 -
例题6-19 自组合(Self-Assembly, ACM/ICPC World Finals 2013, UVa 1572)
0. 由于可以无限翻转与旋转,故永不相交。1. 这不应该是无向图才对么?无向图该怎么判环啊。。orz。。2. 自环会被判成环么?会被判环,并且是可行的解,例如A+A-。3. 想过初始化A+到A-的边,可是A-到A+的情况呢?无向图好像不可行。。4. 与1进行亦或操作为了仅仅改变最后一位。5. 如果两个正方形可以相连接,则互相可以到达所拥有的其他任意边。6. 用有向图来建图,原创 2017-09-21 23:07:44 · 371 阅读 · 1 评论 -
习题6-8 空间结构(Spatial Structures, ACM/ICPC World Finals 1998, UVa806)
0. 这其实是一道很水的题,无非就是dfs罢了。但由于我今天有些急了,还是花了2个点。。1. 无需建树。2. 格式控制。#include #include #include #include #include #include #include #include #include #include #include #include #include #inclu原创 2017-09-26 16:36:13 · 225 阅读 · 0 评论 -
例题6-21 系统依赖(System Dependencies, ACM/ICPC World Finals 1997, UVa506)
STL函数remove的用法:Transforms the range [first,last) into a range with all the elements that compare equal to val removed,and returns an iterator to the new end of that range.#include #include #incl原创 2017-09-24 20:15:03 · 400 阅读 · 0 评论 -
例题6-22 战场(Paintball, UVa 11853)
1. 从上往下若连通,则无解。2. 从上界开始遍历,与边界相交的最南点即为所求。#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2017-09-24 21:34:59 · 221 阅读 · 0 评论 -
例题6-13 古代象形符号(Ancient Messages, World Finals 2011, UVa 1103)
思路:1. 按照每个图形中的空白区域个数来区分图形。2. 先进行一次dfs将外围全部填充,把区域划分为多个。3. 对单块区域处理,从黑色开始dfs,在其中有白色则填充并计数,同时把黑色填充。#include #include #include #include #include #include #include #include #include #include原创 2017-09-13 16:17:23 · 588 阅读 · 0 评论 -
习题7-3 多米诺效应(The Domino Effect, ACM/ICPC World Finals 1991, UVa211)
谜一般的格式换行,为啥格式错报WA额。这题也是用回溯法解决,只是判断情况稍微复杂些。本质都是相同的,每次有两种决策,一行一行来处理。当进行到某一行时,上一行还存在未vis的位置则回溯。#include #include #include #include #include #include #include #include #include #include #i原创 2017-10-23 11:33:20 · 523 阅读 · 0 评论