
数据结构
文章平均质量分 79
Miracle42
这个作者很懒,什么都没留下…
展开
-
NYOJ-257 - 郁闷的C小加(一)-中缀变后缀-数据结构
原文链接:NYOJ-257 - 郁闷的C小加(一)题目大意:我们熟悉的表达式如a+b、a+b*(c+d)等都属于中缀表达式。中缀表达式就是(对于双目运算符来说)操作符在两个操作数中间:num1 operand num2。同理,后缀表达式就是操作符在两个操作数之后:num1 num2 operand。ACM队的“C小加”正在郁闷怎样把一个中缀表达式转换为后缀表达式,现在请你设计一个程序,帮助C小加把中原创 2018-05-03 23:04:55 · 314 阅读 · 0 评论 -
NYOJ-117-求逆序数-数据结构
原文链接:NYOJ-117-求逆序数题目大意:在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。现在,给你一个N个元素的序列,请你判断出它的逆序数是多少。比如 1 3 2 的逆序数就是1。 解题思路:题目给的数据量很大,显然之后暴力O(n^2)是不可取的。看到评论区说可以使用归并排序解决,我就试了试,归并排序原创 2018-05-03 21:17:21 · 359 阅读 · 0 评论 -
最长上升子序列(LIS) 三种方法:O(nlogn,DP,LCS)
原题链接: 最长上升子序列参考:http://blog.youkuaiyun.com/shuangde800/article/details/7474903紫书P274~275题目大意: 给定n个整数A1,A2...An,从左到右的顺序选出尽量多的整数,组成一个上升子序列(子序列可以理解为:删除0个或多个数,其他数的顺序不变。)例如序列1,6,2,3,7,5,可以选出原创 2017-08-31 16:04:38 · 539 阅读 · 0 评论 -
UAa116 例题9-4 单向TSP
原题链接: UVa116题目大意: 给定一个n*m的矩阵,要求从第一列的任何一行出发,每次沿右或右下或右上到达下一列,图形的环形的,也就是说到达最后一行再向下走之后到达第一行,最后到第m列任何一行整个路程的最小值,并且要求是字典序最小的。解题思路: 本题是紫书上的例题9-4,看了题感觉有点思路就自己开始写,没有看分析,后来踩了很多坑,不过有些坑只有踩了以后才能避免。 我的整原创 2017-08-29 18:09:09 · 455 阅读 · 0 评论 -
UVa1605 例题8-2 联合国大楼(Building for UN,ACM/ICPC NEERC 2007)
原题链接: UVa1605题目大意: 模有若干国家需要在联合国大楼里办公,需要把每个格子分配给一个国家,使得任意两个不同的国家都有一堆相邻的格子(要么是同层中间中间隔着墙,要么是一个的地板是另一个天花板)。解题思路: 一开始看了题之后,不知道该如何下手,主要是被样例误导了,以为要是用尽量少的格子。然后看了紫书上给的分析,瞬间我有一句mnp要讲。这就是一个脑筋急转弯啊。一下子就变原创 2017-08-22 14:08:26 · 1071 阅读 · 0 评论 -
UVa120 例题 8-1 煎饼 (Stacks of Flapjacks)
原题链接: UVa-120参考博客:http://www.cnblogs.com/devymex/archive/2010/08/15/1799844.html题目大意: 有N张正在锅里的一叠煎饼,每张都有一个数字,代表其直径大小。厨师每次可以选择一个数k,把从锅底开始数第k张上面的煎饼全部翻过来,即原来在上面的煎饼现在到了下面。要求设计一种方法使得所有煎饼按照从小到大排原创 2017-08-22 11:00:50 · 1390 阅读 · 0 评论 -
UVa524 例题7-9 万圣节后的早晨 (单向+双向)BFS
原题链接: UVa-1601题目大意: 题目不难理解,大意就是让你写的程序帮助麻瓜哈利波特将1~3个皮皮鬼(雕像)归位。具体题目参考原题和紫书205页。需要注意的是,每一次所有鬼都可以移动一步。运行结果: 单向BFS:参考博客: 1、http://blog.youkuaiyun.com/crazysillynerd/article/details/42681579 2、原创 2017-08-19 18:25:40 · 1106 阅读 · 0 评论 -
UVa10129 例题 6-16 单词(Play On Words)
原题链接: UVa-10129题目大意: 输入n(n解题思路: 可以根据紫书后面提供的思路进行解决。将单词的首尾字母当做点,每个单词当做边。然后这道题就变成了一个图是否存在欧拉通路。要解决欧拉通路问题有两种方法一种是DFS,另一种是利用并查集。我用的是前一种方法(因为并查集我并不会┑( ̄Д  ̄)┍)。 思路也是和紫书上的一样的,先判断底图(把有向图变成无向图)是否原创 2017-08-06 16:40:57 · 1403 阅读 · 0 评论 -
UVa806 习题6-8 空间结构(Spatial Structures,ACM/ICPC World Finals 1998)
原题链接: UVa806题目大意: 根据黑白图像的两种表示方法的规则相互转换。细节:输出代表黑色块的数字序列时,每行大于12个要换行。输出最后不需要留空行(差点没栽死在这个坑里)解题思路: 本题其实可以分为两道题一道是矩阵转化为黑点数字序列,另一道是黑点数字序列转化为矩阵。下面是大体思路,具体细节参考代码。(花了挺长时间才写完的,在细节方面栽了很多坑)原创 2017-08-05 21:03:55 · 1518 阅读 · 0 评论 -
UVa804 习题 6-7 Petri网模拟(Petri Net Simulation,ACM/ICPC World Finals 1998)
原题链接: UVa-804题目大意: 模拟Petri网,(图参考原题或紫书)包含NP个库(圆圈),NT个变迁(大棒♂),大棒与若干个input(圆圈)和若干个output(圆圈)相连,只有每个input(也可当做指向大棒的箭头)都有一个小黑球时,input减少一个小黑球,才能完成变迁,然后output里会增加小黑球。题目要求能不能完成给定的跃迁数。解题思路: 其实这道题啊我已开原创 2017-08-04 17:33:15 · 2400 阅读 · 0 评论 -
UVa1600 习题6-5 巡逻机器人 (Patrol Robot,ACM/ICPC Hanoi 2006)
原题链接: UVa-1600题目大意: 模拟机器人要从一个m*n(m和n的范围都在1到20的闭区间内)的网格的左上角(1,1)走到右下角(m,n)。网格中的一些格子是空地,用0表示,其它格子是障碍,用1表示。机器人每次可以往四个方向走一格,但不能连续地穿越k( [0,20] )个障碍,求最短路长度。起点和终点保证是空地。解题思路: 本题是图的最短路径问题,理所当然的想到用原创 2017-08-03 09:57:57 · 1890 阅读 · 0 评论 -
UVa439 习题 6-4 骑士的移动(Knight Moves)
原题链接: UVa-439题目大意: 骑士在一个8*8的棋盘上移动,1-8代表行号,a-h代表列号,给出骑士的初始位置和目的位置,求骑士最少的移动步数.刘汝佳的字数上这题给了骑士移动的规律的图形。原题上没有给。解题思路: 看到本题要求求最短步数,首先想到应该用广度优先搜索(BFS),使用队列进行辅助。放了放置重复访问,设置一个二维数组来存储访问状态。 对于确定找到下原创 2017-08-02 15:54:20 · 1891 阅读 · 0 评论 -
UVa-536 习题6-3 二叉树重建(Tree Recovery,ULM 1997)
原题链接: UVA-536题目大意: 输入一棵二叉树的先序遍历和中序遍历序列,输出后序遍历序列。解题思路: 很基础的一道二叉树的题,和紫书中第六章中的一道例题很相似,边递归建树边输出。后序序列输出时应该将输出放在两个递归函数后面就可以后序序列。不难,不过还有些细节还是需要主要,比如传参的时候左右子树分别在先序和中序的位置需要注意。代码:#include#include原创 2017-08-02 11:07:33 · 1351 阅读 · 0 评论