紫书 第六章 例题
文章平均质量分 77
Chen丶HC
这个作者很懒,什么都没留下…
展开
-
例题6-1 并行程序模拟(Concurrency Simulator, ACM/ICPC World Finals 1991, UVa210)
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CLOSE() ios::sync_with_stdio(fal原创 2017-07-15 11:25:51 · 812 阅读 · 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 · 242 阅读 · 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 · 433 阅读 · 0 评论 -
例题6-16 单词(Play On Words, UVa 10129)
裸的有向图判欧拉通路问题。。所有点入度 = 出度则存在欧拉回路,度数不等点恰好为2,其中一点且入度 - 出度 = 1,则为欧拉通路。#include #include #include #include #include #include #include #include #include #include #include #include #include #i原创 2017-09-16 10:29:49 · 405 阅读 · 0 评论 -
例题6-17 看图写树(Undraw the Trees, UVa 10562)
字符串的整行读取gets()VS上用不了,gets_s()编译不过。。。fgets(char *, size, stdin), 注意换行符也被读取进了字符串。这题逻辑没问题,但还是debug了很久,主要是数组越界的问题,以后一定注意!#include #include #include #include #include #include #include #include原创 2017-09-17 10:20:48 · 309 阅读 · 0 评论 -
例题6-8 树(Tree, UVa 548)
很基础的一道题,用了分治法建树,dfs求最值。#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #includ原创 2017-09-09 21:16:52 · 238 阅读 · 0 评论 -
例题6-9 天平(Not so Mobile, UVa 839)
递归建树并判断#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CLEAR原创 2017-09-11 11:19:07 · 203 阅读 · 0 评论 -
例题6-10 下落的树叶(The Falling Leaves, UVa 699)
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CLEAR(a, b)原创 2017-09-11 22:15:03 · 241 阅读 · 0 评论 -
例题6-11 四分树(Quadtrees, UVa 297)
因为是完全树所以可以直接由先序遍历确定整棵树。#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #includ原创 2017-09-12 22:08:47 · 346 阅读 · 0 评论 -
例题6-18 雕塑(Sculpture, ACM/ICPC NWERC 2008, UVa12171)
1. dfs递归会栈溢出,只能用bfs来floodfill。试了下Uva 1103不知道该怎么bfs。2. 三维的floodfill,初步实现竟然过个样例10s,woc。。写的太辣鸡。3. 看了lrjls的做法,离散化,只求空白的体积,计算涂色边界来求得面积。4. 感觉还是定义了好多的数组,命名好难受。orz。#include #include #include #include原创 2017-09-21 10:06:47 · 420 阅读 · 0 评论 -
例题6-15 给任务排序(Ordering Tasks, UVa 10305)
思路:维护入度数组,每次输出入度为0的点,若最终仍有节点则有环。#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #inclu原创 2017-09-15 23:09:22 · 414 阅读 · 0 评论 -
例题6-14 Abbott的复仇(Abbott's Revenge, ACM/ICPC World Finals 2000, UVa 816)
思路:我所了解的BFS,建图然后遍历。这题在建图上与我所认识的BFS有所不同。他给出的是起点及移动方向,并且由到某点时的方向可以确定起点,所以存图方式为存点的状态。还有要注意的就是方向与转向的实现。建完图之后,与普通的BFS并无大不同。#include #include #include #include #include #include #include #inclu原创 2017-09-14 19:47:16 · 737 阅读 · 0 评论 -
例题6-2 铁轨(Rails, ACM/ICPC CERC 1997, UVa 514)
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CLEAR(a, b) memset(a, b, sizeof(原创 2017-07-16 22:09:11 · 623 阅读 · 0 评论 -
例题6-3 矩阵链乘(Matrix Chain Multiplication, UVa 442)
#ifdef _DEBUG#pragma warning(disable : 4996)#endif#include #include #include #include #include #include #include #include #include #include #include #include #include #include #includ原创 2017-07-27 21:49:36 · 279 阅读 · 0 评论 -
例题6-4 破损的键盘(又名:悲剧文本)(Broken Keyboard(a.k.a. Beiju Text), UVa 11988)
#ifdef _DEBUG#pragma warning(disable : 4996)#endif#include #include #include #include #include #include #include #include #include #include #include #include #include #include #includ原创 2017-07-28 10:21:08 · 726 阅读 · 0 评论 -
例题6-12 油田(Oil Deposits, UVa 572)
floodfill, dfs求连通块。#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CLE原创 2017-09-13 13:24:22 · 264 阅读 · 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 · 639 阅读 · 0 评论 -
例题6-5 移动盒子(Boxes in a Line, UVa 12657)
这题emmm,感觉还是没有深刻理解。1. 对于逆转操作采取加标记而非直接改动。2. 操作前先记下节点的前驱与后继。#include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2017-09-07 10:29:39 · 374 阅读 · 0 评论 -
例题6-20 理想路径(Ideal Path, NEERC 2010, UVa1599)
1. 若不考虑字典序问题,则显然可以直接bfs求解最短路。但是如何使得字典序最小呢?2. 显然要贪心选取每一步的col值最小,为了保证贪心选取时每一步都仍为最短路,从终点进行一次bfs的到各点dis。3. 取最小值的过程仍为bfs的过程,但是需要从多点出发访问下一层的bfs,用vector来实现,且访问层数即为最短距离。#include #include #include #incl原创 2017-09-23 10:56:46 · 653 阅读 · 0 评论 -
例题6-6 小球下落(Dropping Balls, UVa 679)
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CLEAR(a, b) memset(a,原创 2017-09-07 13:42:13 · 310 阅读 · 0 评论 -
例题6-7 树的层次遍历(Trees on the level, Duke 1993, UVa 122)
动态写法#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CLEAR(a, b) memset原创 2017-09-07 21:05:49 · 313 阅读 · 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 · 398 阅读 · 1 评论