603639323算法合集之《参考系与坐标系》.doc
《603639323算法合集之《参考系与坐标系》.doc》由会员分享,可在线阅读,更多相关《603639323算法合集之《参考系与坐标系》.doc(54页珍藏版)》请在三一办公上搜索。
1、IOI2006中国国家集训队论文信息学中的参考系与坐标系Reference and Coordinate System in Olympiad in Informatics 摘 要信息学是一门新兴的学科,与数学、物理等经典学科相比显然年轻得多。因而信息学中的许多思想都来源于数学、物理。本文将通过三个方面介绍参考系与坐标系在信息学中的应用。希望能通过本文,开拓解决信息学问题的思路,使参考系与坐标系的思想成为解决信息学问题的有力武器。关键字信息学 参考系 坐标系 单位长度 离散化 数轴目 录前言3参考系与坐标系的介绍4单位长度的改变7参考系的选择11坐标系的建立15总结20参考文献与资料来源21附
2、录22致谢53前言我在做题中有时会灵光一现,想出一些很特殊或是未接触过的解法,这些题目和想法都会给我留下很深刻的印象。本篇论文的第三题就是其中之一,可以说这题是整篇论文的导火索。但灵光总不会经常光顾,大多数情况下解决新到手的问题都得按部就班地分析,做过类似的题型,当然易于解决;但如果没有呢?我常常想那些“灵光一现”的题目,是否也可以按套路分析出来呢?这里的套路也就是常说的解题的思维和方法了,然而个个人都不尽相同,但其中往往有很多相同和相通的思想。如果说解决题目是在黑暗中摸索,那么这些思想便是一个个的灯塔,正在这些灯塔的指引下,我们摸索出了道路也就是解题方法了。那么灯塔越多,解决问题的路径便越清
3、晰。然而很多路,我们都只凭着直觉,也就是经验走出来的,对途中未亮的灯塔视而不见。我写本篇论文,就是想为大家点亮一个灯塔,这个灯塔就名为参考系与坐标系的思想。希望大家今后在黑暗中摸索道路时能多一片光明;更希望大家在走出一条道路后,可以将道路中的灯塔都点亮。本篇论文主要分为两大部分,第一部分是介绍参考系与坐标系的基本概念,为后文作铺垫;第二部分是介绍参考系与坐标系思想在信息学中的应用。第二部分分为三大块:单位长度的改变,参考系的选择,坐标系的建立。每一块都由问题引入,问题描述,问题分析以及小结构成。每个问题的分析都不是单一方法,而是从简单到复杂,从常规到特殊,这也是我们面临一个未知问题时常用的思维
4、方法。虽然这些题目的道路已经明朗了,但我仍希望本篇论文的分析能体现黑暗中的摸索,所以在分析中,会有“?”的出现,正由于这些“?”,使问题不断深入。每个问题分析后的小结正是起点亮灯塔的作用。参考系与坐标系的介绍 参考系的概念平时我们说树木、房屋是静止的,行驶的汽车是运动的,这是以地面作为标准来说的。坐在行驶的火车里的乘客,认为自己是静止的,路旁的树木在向后倒退,这是以车厢作为标准来说的。在描述一个物体运动时,选来作为标准的另外物体,叫做参考系。 坐标系的概念我们都有去影院看电影的经历,观众席的所有座位都按“几排几号”编号,以便确定每个座位在影院中的位置。这样,观众就能根据入场券上的“排数”和“号
5、数”准确地“对号入座”。这正运用了坐标系的有关知识。在参考物上任意选定一个参考点O,并安置一个以O为原点的坐标系,就可以把物体相对于参考系的位置定量地用坐标表示出来。 坐标系的三要素为:原点,正方向,单位长度。 几种坐标系一维坐标系-4 -3 -2 -1 0 1 2 3 4 5 6 7下图是一条数轴,数轴上的点可以用一个数来表示,这个数就叫做这个点的坐标。知道一个点的坐标,这个点在数轴上的位置也就确定了。二维坐标系平面上几个非平行数轴原点重合组成的坐标系就是二维坐标系。O我们接触最多的是两条互相垂直、原点重合的数轴组成的平面直角坐标系,也就是笛卡儿坐标系。水平的数轴称为x轴或横轴,习惯上取向右
6、为正方向;竖直的数轴称为y轴或纵轴,取向上为正方向;两坐标轴的交点为平面直角坐标系的原点。IVIIIIIIOxy有了平面直角坐标系,平面内的点就可以用一个有序数对来表示了。一个点分别向x轴和y轴做垂线,垂足在x轴上的坐标就是横坐标,垂足在y轴上的坐标就是纵坐标。建立了平面直角坐标系以后,坐标平面就被两条坐标轴分成I,II,III,IV四个部分,分别叫做第一象限,第二象限,第三象限和第四象限,坐标轴上的点不属于任何象限。三维坐标系我么常见的是三维坐标系是空间直角坐标系。如图,OABC-DABC是单位正方体,以O为原点,分别以射线OA,OC,OD的方向为正方向,以线段OA,OC,OD的长为单位长,
7、建立三条数轴:x轴,y轴,z轴。这时我们说建立了一个空间直角坐标系O-xyz。其中点O为坐标原点;x轴,y轴,z轴叫做坐标轴,通过每两个坐标轴的平面叫做坐标平面,分别称为xOy平面,yOz平面,zOx平面。yxzOBAABCDC在空间直角坐标系中,让右手拇指直向x轴的正方向,食指指向y轴的正方向,如果中指指向z轴的正方向,则称这个坐标系为右手直角坐标系。无特别说明,三维坐标系一般都是右手直角坐标系。yzxyxzO设M为空间中一定点,过点M分别做垂直于x轴,y轴和z轴的平面,依次交x轴,y轴和z轴于点P,Q和R,设点P,Q和R在x轴,y轴和z轴上的坐标分别是x,y,z,那么点M就对应唯一确定的有
8、序实数组(x,y,z)。反过来,给定实数组(x,y,z),我们可以在x轴,y轴和z轴上一次取坐标为x,y和z的点P,Q和R。yxzOMMPQR这样,空间中一点M的坐标可以由序实数组(x,y,z)来表示,有序实数组(x,y,z)叫做点M在此空间直角坐标系中的坐标,记作M(x,y,z),其中x叫做点M的横坐标,y叫做点M的纵坐标,z叫做点M的竖坐标。 参考系与坐标系的应用参考系的应用参考系的思想来源于物理。解决运动学问题的第一步就是选择合适的参考系。研究太阳系中物体的运动选择太阳为参考系比选择地球为参考系简单得多。而研究地面上物体的运动,我们不会选择太阳作为参考系。坐标系的应用坐标系的概念最初来源
9、于数学,但在物理等学科中运用极其广泛。研究函数离不开坐标系,解析几何就是由于坐标系的发明而诞生的。实际生活中,用经纬度表示地球上一个地点的地理位置,用极坐标表示区域内地点的位置,用平面直角坐标表示区域内地点的位置等等,实际上都是利用了有序数对与点的对应关系,是坐标与点一一对应思想的表现。单位长度的改变 问题引入:对于同一些数据,选用不同的单位长度的意义,建立的坐标系就不同,解决问题的繁简也会不同。比如,我们用数轴表示分数,把一次考试中所考生的分数填入数轴中,这时单位长度都是1分。我们如果用数轴表示名次,单位就是1名。这种从分数到名次的转换,也就是我们常说的离散化。离散化常用于处理数据规模很大,
10、数据个数较小的问题。就刚才的例子而言,如果考试得满分为1000分,一共有50名考生,那么以名次建立的数轴范围就远小于以分数建立的数轴范围了。 问题描述:AHOI 2005 Day1 穿越磁场(Cross)探险机器人在Samuel星球上寻找一块奇特的矿石,然而此时它陷入了一片神秘的磁场区域,动弹不得。探险空间站立刻扫描了这片区域,绘制出该区域的磁场分布平面图。这片区域中分布了N个磁场,每个磁场呈正方形,且边与坐标轴平行。xyO例如下图中,存在3个磁场,白点表示机器人的位置,黑点表示矿石的位置:科学家们分析平面图,进一步发现:这些磁场为大小不一的正方形,可能相交,甚至覆盖,但是它们的边缘不会重合,
11、顶点也不会重合。例如下面的两种情形是不会出现的:科学家们给探险机器人启动了磁力罩,这样它就可以在磁场中自由穿越了。初始时,探险机器人和所有矿石都不在任何磁场的边缘。由于技术限制,在穿越过程中机器人只能够水平或垂直移动,且不能够沿着磁场的边缘行动。由于磁力罩的能量有限,科学家们希望探险机器人穿越尽量少的磁场边缘采集到这块矿石。例如上图中,探险机器人最少需要穿越两次磁场边缘。现在小联请你编写程序,帮助科学家们设计探险机器人的路线,统计探险机器人最少需要穿越多少次磁场边缘。输入:第一行有一个整数N,表示有N个磁场(1 N 100)。随后有N行,每行有三个整数X、Y、C(0 X ,Y ,C 10000
12、),表示一个磁场左下角坐标为(X,Y),边长为C。接下来有一行,共有四个整数SX, SY, TX, TY,表示机器人初始坐标为(SX, SY),矿石坐标为(TX,TY)(其中,0 SX, SY, TX, TY 10000)。输出:单行输出一个整数,表示机器人最少需要穿越多少次磁场边缘。样例:输入: 2 1 3 3 2 1 40 0 3 4输出: 2 问题分析:方法1:将坐标中的所有整点坐标当作顶点,在每个点与坐标系中相邻的点间加一条无向边,如果穿过磁场,边的权值为1,否则权值为0。000101000101000101101000Oxy000000111011111000000000000000
13、101122求机器人从起点到终点的最小耗费,也就是求构造的图中两点之间的最短路径,我们可以用Dijkstra解决。每次循环中寻找最大值的复杂度为O(V),改进相邻点时由于要判断是否穿过磁场边,所以复杂度为O(N)。整个算法复杂度为就是O(VN+V2),这里V=整个坐标中的点的个数=10000*10000,显然超时。当然,在实现过程中我们可以有所优化,比如确定查找点的范围。方法2:Dijkstra分为两大部分,第一部分是取所有未标记点中的最小值,第二部分是用当前最小值改进整个图。那么建立一个上小下大的堆,堆中保存所有起始点到图中未标记的点的最短路径值,这样每次取出一个最小值的复杂度为O(1);由
14、于此图中,每个点的度最多为4,查找边的权值的复杂度为O(N),更新堆的复杂度为O(Vlog2V)。因而算法复杂度降为O(V+NV+Vlog2V)。但由于V=10000*10000仍不能在时限中出解。方法3:Oxy00000000000000000000000000000000000000此题的数据规模有一些特性虽然坐标系的范围巨大,但有效坐标(机器人的坐标,宝藏的坐标和磁场顶点坐标)的个数却很小。上两个方法的主要复杂度都取决于V,也就是坐标系中的点数。如果我们可以把坐标系的范围缩小,也就相当于把V缩小,就可以大大降低问题的时间复杂度。在上种方法的构图中,我们会发现很多边的权值为0,也就是说,可
15、能有很多连续点的最短路径值都相等。如图:那么我们将整个图中有效坐标抽出,建立一个新的坐标系,这个坐标系中相邻两个个坐标的间距为单位“1”,但此时单位长度的意义为有效坐标的序号。如图:这样我们依然用最短路径的方法在这个图中进行操作,算法复杂度为O(V+VN+Vlog2V),但此时,V=204*204,问题得以解决。方法4:离散化后对整个图中的连续无磁场部分进行染色,如下图:问题就是求机器人所在点的颜色区域到宝藏所在点的颜色区域的最短路径。由于每相邻两个区域间的边的权值均为1,所以算法复杂度为O(V)。因而整个算法的复杂度为O(NV)。这里的N=100,V=204*204。如果先构图,复杂度为O(
16、N),再染色用宽搜求最短路复杂度为O(V),所以总复杂度为O(N+V)。 小结:对于同一问题,选用的单位长度的意义不同,就会有不同效果。比如Cross这题,开始是以题目已经建立了的坐标系的长度1为单位长度,到后来将有效坐标排序后,以其序号为单位长度,坐标系的范围大大缩小。这是我们常说的离散化,但也可以理解为单位长度的意义改变。我们不能局限在原有的或常用的单位长度意义,而应适宜题目做出改造或创造。参考系的选择 问题引入:选择不同的参考系来观察同一运动,观察的结果会不同。比如,马路上停着n辆汽车,现在有n-1辆汽车以相同速度向前运动,以地面为参考系,n-1辆汽车运动,一辆汽车静止;以n-1辆运动的
17、汽车为参考系,一辆汽车运动,n-1辆汽车静止。在不同参考系中描述物体运动,繁简是不一样的。 问题描述:USAICO 2005 Day6 布丁(Puddin)FJ建立了一个布丁工厂。在接下来的N(1=N=40,000)个星期里,原料牛奶和劳动力的价格会有很大波动。FJ希望能够在满足消费者需求的前提下尽量减小花费。FJ预计接下来每个星期会需要Ci(1=Ci=5,000)元钱来生产一单位布丁,且消费者会需要Pi(0=Pi=10,000)单位布丁。FJ每星期即可以生产布丁,也可以储存布丁供以后使用。它的仓库存储一星期一单位布丁需要S(1=S=100)元钱。但是由于布丁有保质期,所以最多只能保存T(0=
18、T=40,000)星期。也就是说x星期生产的布丁可以在(x+T)星期销售,但是不能在(x+T+1)星期销售。请帮助FJ安排生产与存储的方案使得在满足消费者需求的前提下尽量减小花费。输入文件:第一行为N,S与T.第二行到第(N+1)行:每一行两个数,即Ci与Pi。输出文件:仅一个数,即满足顾客需求前提下的最小花费。样例:输入:5 10 312 121 227 445 552 3输出:488 问题分析:方法1:问题是求满足每星期需求量的最小的费用Wmin,我们很容易Wmin=,每个星期的最小费用是相互独立的。又因为Wi=最小单价Vi*Pi,Pi已给定,那么问题就是求个个星期的最小单价Vi。根据Vi
19、=Min(Cj+S*(i-j) (0j=i-T),我们可以求出每星期的Vi,继而求出Wi和Wmin。时间复杂度为O(NT),由于N,T最大为40000,所以不能在时限中出解。方法2:每个星期的Vi都得求出,也就是O(N)的复杂度不可少,我们试图将求解Vi的复杂度降低。我们想到用线段树、堆、平衡树等数据结构进行优化,就Vi的求解公式,我们选用堆。建立一个上小下大的最多有T个节点的堆,堆中保存保质期内每个星期布丁到此星期的价值。那么从第i星期,到i+1星期对堆的操作有:1) 删除堆中超过保质期的布丁价值2) 将堆中所有布丁的价值加上S3) 插入Ci4) 取出堆顶作为Vi上面这四步操作,第3,4都是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 参考系与坐标系 603639323 算法 参考系 坐标系
链接地址:https://www.31ppt.com/p-2886136.html