这是一个指南页面。
这意味着此页面的内容将会指导你完成特定的任务、策略或与其他玩家战斗。
如有明显错误或过时内容请向原作者或站内管理员反馈
前言
《前海算经》是由ShaXingAn编著的一本用于优化Bloxd服务器的城镇交通的一本著作,主要通过借助初中几何和信息学中有关图的理论研究如何优化Bloxd服务器的城镇交通。
由于ShaXingAn对此类问题的研究起源于ShaXingAn在Minecraft个人存档的前海地区,故命名为《前海算经》。
本书主要解决以下问题:
- 希望优化服务器的城镇交通,但没学过初中几何
- 学过初中几何,且希望优化服务器的城镇交通,但不能够灵活运用
- 抱怨某些服务器的冰块交通系统运行效率过低,想要寻求更快速的方案
- 为解决冰块交通系统效率过低的问题提供优化方案
- 提升传送告示牌交通系统的运行效率
本书不能解决以下问题:
- 系统地学习初中几何
- 系统地学习信息学关于图的算法
- 成为经验丰富的测绘工程师
那么,让我们从现在开始,探寻《前海算经》的神秘世界吧!
第一章引言
在遥远的前海地区,前海的先民们世世代代在这里繁衍生息。随着时间的推移,前海地区由一个平平无奇的小村落逐渐发展成具有十几个部落的区域。由于部落之间通常有100~200米1左右的距离,因而需要修建道路互相连通,这可让前海的居民们感到头疼。
例1.1
【问题描述】如图所示,部落A(图中 $\text{A}$ 点)和部落B(图中 $\text{B}$ 点)之间欲修建一条道路,为节省材料,请提供一种最优的修建方案。
例1.2
【问题描述】如图所示,部落A(图中 $\text{A}$ 点)欲修建一条通往河流l (图中直线 $l$)的道路,为节省材料,请提供一种最优的修建方案。
【解析】
基本事实:在同一平面内,过直线上或直线外的一点,有且只有一条直线和已知直线垂直。
基本事实:从直线外一点到这条直线上各点所连的线段中,垂直线段最短。
过 $\text{A}$ 作 $\text{A}$ 点关于直线 $l$ 的垂线,交直线 $l$ 于 $\text{B}$ 点,线段 $\text{AB}$ 即为最优修建方案。
例1.3
【问题描述】如图所示,部落A(图中 $\text{A}$ 点)和部落B(图中 $\text{B}$ 点)欲合修一条通往河流l (图中直线 $l$)的道路,他们选定从河流的 $\text{C}$ 点处出发,连接 $\text{A}$ 点与 $\text{B}$ 点,已知部落A与部落B位于河流同一侧,为节省材料,请求出使得 $\text{(AC+BC)}$ 最短的修建方案。
【解析】
定义:经过某一条线段的中点,并且垂直于这条线段的直线,叫做这条线段的垂直平分线,又称“中垂线”。
性质:垂直平分线垂直且平分其所在线段。
性质:垂直平分线上任意一点,到线段两端点的距离相等。
作 $\text{A}$ 点关于直线 $l$ 的对称点 $\text{A'}$,则直线 $l$ 是线段 $\text{AA'}$ 的垂直平分线。
连接 $\text{A'B}$,交直线 $l$ 于 $\text{C}$,此时 $\text{(AC+BC)}$ 最短。
例1.4
【问题描述】如图所示,部落A(图中 $\text{A}$ 点)的居民Alfur欲在部落A举行祭祀仪式,为完成祭祀仪式,他需要前往河流m (图中直线 $m$)和河流n (图中直线 $n$)各取一桶水,已知 $m \not\parallel n$,为节省时间,请设计一条距离最短的取水路线。
【解析】
分别作 $\text{A}$ 点关于直线 $m$ 和直线 $n$ 的对称点 $\text{A',A''}$。
连接 $\text{A'A''}$,交直线 $m$ 于 $\text{B}$,交直线 $n$ 于 $\text{C}$,则Alfur只需要按照 $\text{A}\rightarrow\text{B}\rightarrow\text{C}$ 的路径取水,距离即为最短。
例1.5
【问题描述】如图所示,部落A(图中 $\text{A}$ 点)和部落B(图中 $\text{B}$ 点)欲合修一条跨过一条河流 (图中直线 $m$ 表示河流北岸,直线 $n$ 表示河流南岸,满足$m \parallel n$)的道路。其中,在跨过河流区域的道路必须垂直于河流修建,为节省材料,请设计一条距离最短的修建方案。
【解析】
性质:两条平行线之间的距离处处相等。
定义:两组对边分别平行的四边形叫做平行四边形。
性质:如果一个四边形是平行四边形,那么这个四边形的两组对边分别相等。
过 $\text{A}$ 作 $\text{A}$ 点关于直线 $m$ 的垂线,交直线 $m$ 于 $\text{C}$ 点,交直线 $n$ 于 $\text{D}$ 点。
在线段 $\text{AC}$ 上取一点 $\text{A'}$,使得 $\text{AA'=CD}$。
连接 $\text{A'B}$,交直线 $n$ 于 $\text{B'}$,过 $\text{B'}$ 作 $\text{B'}$ 点关于直线 $m$ 的垂线,交直线 $m$ 于 $\text{E}$ 点。
连接 $\text{AE,EB',B'B}$,则折线 $\text{AEB'B}$ 即为最短修建方案。
例1.6
【问题描述】如图所示,部落A(图中 $\text{A}$ 点)、部落B(图中 $\text{B}$ 点)和部落C(图中 $\text{C}$ 点)决定在 $\text{O}$ 点修建一祭祀场所,并修建 $\text{OA,OB,OC}$ 三条道路,以纪念伟大的神灵Baba。Baba作为象征着公平正义的神灵,要求三个部落到祭祀场所的道路长度必须相等,否则就会随机选择一个部落首领送进虚无之地以示惩戒。为了满足神灵Baba的要求,请设计合适的修建方案。
例1.7
【问题描述】如图所示,部落A(图中 $\text{A}$ 点)、部落B(图中 $\text{B}$ 点)和部落C(图中 $\text{C}$ 点)欲合修三条道路共交于一点 $\text{O}$,且满足在 $\triangle\text{ABC}$ 中,$\angle\text{ABC,}\angle\text{BCA,}\angle\text{CAB}$ 均小于 $\text{120°}$,为节省材料,请设计一条总距离最短的修建方案。
第二章引言
道路的修建极大便利了前海地区居民们的出行,但随着时间的推移,前海居民们渐渐不再满足于狭小的滨海地区的平淡生活,为了寻找新的出行工具,他们派出了一支冒险队外出考察。
冒险家们翻山越岭,来到了极为寒冷的潇湘地带,这里雪原广布,突然,他们发现了一条蓝色条带,踩在上面滑滑的,跑起来却变得飞快。
他们发现了冰块。
注:根据 http://bloxd.wikidot.com/wiki:block-list 的说明,本书中冰块轨道的移动速度为平地的1.4倍。
例2.1
【问题描述】如图所示,冒险家Cedric欲从A地(图中 $\text{A}$ 点)出发,前往B地(图中 $\text{B}$ 点)执行伐木任务,有一条经过 $\text{A}$ 地的冰块道路(图中直线 $m$)和一条经过 $\text{B}$ 地的冰块道路(图中直线 $n$),且满足 $m\perp n$,$m$ 和 $n$ 交于 $\text{C}$ 点。已知 $\text{AC}=1,\text{BC}=x$,Cedric可以选择乘坐冰块轨道或者走直线两种方式中的一种到达目的地,为尽快到达B地,请求出当 $x$ 在什么范围内时,Cedric走直线比乘坐冰块轨道的速度快。
【解析】
性质:在平面上的一个直角三角形中,两个直角边边长的平方之和等于斜边长的平方,这就是勾股定理5。
由题意得,$\text{A}$ 地与 $\text{B}$ 的直线距离为:
(1)设Cedric乘坐冰块轨道的路程为 $l$,则:
(2)由于冰块轨道的移动速度为平地的1.4倍,可得不等式:
(3)解不等式,得:
(4)故当 $\frac{3}{4} < x < \frac{4}{3}$ 时,Cedric走直线比乘坐冰块轨道的速度快。
通过此例,我们发现:冰块轨道并非在任何情况下效率都比走路要高,实际情况下,出行方式的选择应当考虑出发点与目的地的相对位置。
例2.2
【问题描述】如图所示,冒险家David欲从A地(图中 $\text{A}$ 点)出发,前往B地(图中 $\text{B}$ 点)执行采矿任务,有一条折线形的冰块轨道 $\text{ADCB}$,且 $\text{A}$ 点、$\text{B}$ 点、$\text{C}$ 点、$\text{D}$ 点恰构成矩形 $\text{ABCD}$,已知 $\text{AD}=1,\text{AB}=x$,David可以选择乘坐冰块轨道或者走直线两种方式中的一种到达目的地,为尽快到达B地,请求出当 $x$ 在什么范围内时,David走直线比乘坐冰块轨道的速度快。
【解析】
定义:至少有三个内角都是直角的四边形是矩形,矩形也叫长方形。
判定:有一个角是直角的平行四边形是矩形。
性质:矩形对边平行且相等,对角相等,邻角互补,对角线互相平分。
由题意得,$\text{A}$ 地与 $\text{B}$ 的距离为$x$。
则David乘坐冰块轨道的路程为$(x+2)$。
由于冰块轨道的移动速度为平地的1.4倍,可得不等式:
解不等式,得:
(6)故当 $x < 5$ 时,David走直线比乘坐冰块轨道的速度快。
例2.3
【问题描述】如图所示,居民Erik欲从A地(图中 $\text{A}$ 点)出发,前往B地(图中 $\text{B}$ 点)执行取水任务,有一平直冰块轨道 $l$ 恰经过 $\text{B}$ 点,过 $\text{A}$ 作 $l$ 的垂线,垂足为 $\text{C}$,满足 $\text{AC}=1,\text{BC}=x$。求Erik到达B地的最快方案。
【解析】
在线段 $\text{BC}$ 上取一点 $\text{D}$,当 $( \text{AD}+\frac{\text{BD}}{1.4} )$ 最小时,即为Erik到达B地的最快方案。
借助信息技术,探究发现,当 $\text{D}$ 选取在距离 $\text{C}$ 约1.02时,Erik到达B地的速度最快。
这里需要注意的是:1.02只是近似值,事实上,当 $x$ 的选取值在 $[1,1\times 10^6]$ 范围内时,$\text{D}$ 选取在距离 $\text{C}$ 的距离数值稳定在1.0206左右。值得注意的是,即便随着 $x$ 的增大,$\text{D}$ 点选取位置的变化微不足道,但它的确是在变化,而非是一个恒定值。
例2.4
【问题描述】如图所示,冒险家Frida欲从A地(图中 $\text{A}$ 点)出发,前往B地(图中 $\text{B}$ 点)修建建筑。A、B两地恰有一座山脉阻隔,有一条隧道 $\text{AB}$ 和一折线形的冰块轨道 $\text{ACB}$,且 $\text{A}$ 点、$\text{B}$ 点、$\text{C}$ 点恰构成以 $\text{AB}$ 为底边的等腰三角形 $\text{ABC}$。过 $\text{C}$ 点作 $\text{AB}$ 的垂线,垂足为 $\text{D}$,已知 $\text{AB}=1,\text{CD}=x$,Frida可以选择乘坐冰块轨道或者走隧道两种方式中的一种到达目的地,为尽快到达B地,请求出当 $x$ 在什么范围内时,Frida走隧道比乘坐冰块轨道的速度快。
【解析】
定义:至少有两边相等的三角形是等腰三角形。
定义:等腰三角形中,相等的两条边称为这个三角形的腰,另一边叫做底边。两腰的夹角叫做顶角,腰和底边的夹角叫做底角。
性质:等腰三角形的两个底角度数相等。
性质:等腰三角形的顶角平分线,底边上的中线,底边上的高相互重合。
$\because\triangle\text{ABC}$ 是以 $\text{AB}$ 为底边的等腰三角形,$\text{D}$ 点是底边上的高。
$\therefore\text{D}$ 点是线段 $\text{AB}$ 的中点,即 $\text{AD}=\text{BD}=\frac{1}{2}$。
$\therefore\text{AC}=\text{BC}=\sqrt{x^2+(\frac{1}{2})^2}$。
由于冰块轨道的移动速度为平地的1.4倍,可得不等式:
解不等式,得:
(8)但因 $x > 0$,故当 $x > \frac{3\sqrt{19}}{10}$ 时,即 $x>1.31$ 时,Frida走隧道比乘坐冰块轨道的速度快。
例2.5
【问题描述】如图所示,建筑师Gerda欲在水平直线 $l$ 上选择一点 $\text{Q}$,修建一条倾斜冰块轨道连接位于山顶 $\text{A}$ 处的祭坛,方便游客前来瞻仰伟大的蓝发女孩冒险家Hilda。为了代替原先已有的步道(图中折线 $\text{QBA}$),同时考虑到节省材料的因素,Gerda希望 $\text{Q}$ 点距离山脚 $\text{B}$ 点的距离尽可能短。已知山脉的高度为 $1$,从 $\text{B}$ 点观察 $\text{A}$ 点的仰角为 $\alpha=45°$,求当 $\text{QB}$ 的距离为多少时,在节省材料的同时也能代替原先已有的步道。
【解析】
设 $\text{QB}$ 的距离为 $x$,则原先已有的步道距离为 $(x+\sqrt{2})$,新修建的倾斜冰块轨道距离为 $\sqrt{(x+1)^2+1^2}$。
由于冰块轨道的移动速度为平地的1.4倍,可得不等式:
解不等式,得:
(10)当 $x > \frac{5\sqrt{-98\sqrt{2}+171}-49\sqrt{2}+25}{24}$ 时,即 $x>-0.6597$ 时,在节省材料的同时也能代替原先已有的步道吗?
在Bloxd的实际游玩过程中,不可能存在倾角超过 $45°$ 的步道和冰块轨道,因为这会导致玩家无法攀登上去。因此,在原先步道的位置修建冰块轨道是最优方案。这提醒我们:在解决问题的过程中,应当考虑实际情况。
第三章引言
尽管冰块轨道为前海的居民们带来了极大的便利,但对于极长距离的道路来说还是慢了一些。此外,冰块轨道的一些乘客也认为,过长的冰块轨道忽视了乘客的心理需求,面对不知还有多远才能到达的终点,冰块轨道无疑降低了他们的心理预期。
前海的管理者们苦苦哀求世界的创造者Arthur Baker能够给予他们一些使玩家迅速到达千里之外地方的道具,于是Arthur发明了传送告示牌。
新的交通方式——传送式地铁诞生了。
例3.1
【问题描述】乘客Illus欲乘坐地铁从A站出发,前往F站,线路与站点的关系如下表所示。若Illus每坐一站便需要1秒,换乘不消耗任何时间,那么Illus至少需要多长时间才能到达F站?
线路 | 站点1 | 站点2 | 站点3 | 站点4 |
---|---|---|---|---|
1号线 | A | B | C | D |
2号线 | B | E | F | - |
3号线 | C | F | G | - |
【解析】
为便于后续例题的研究,我们引入一些概念:
图的概念
图是信息学的一种重要数据结构,由顶点和边构成。
有向图与无向图
图的边根据有无方向分为有向图和无向图。其中,有向图的边从一个顶点指向一个顶点,当顶点指向自身时,称为自环。无向图的边没有方向。
简单图与多重图
两个顶点之间可不存在边,或存在一条或多条边,当一个图中任意两个顶点之间都不存在两条及以上的边时,该图被称为简单图,否则称为多重图。
图的连通性
若一个顶点到另一个顶点之间有路径存在,则称这两个顶点是连通的。
在无向图中,若任意两个顶点都是连通的,则该图是连通图。
在有向图中,若顶点A到顶点B存在一条路径,且顶点B到顶点A存在一条路径,则顶点A和顶点B是强连通的。
根据题目,我们可以构建一个图,如下图所示:
从图中容易得出,Illus至少需要3秒才能到达F站。
例3.2
【问题描述】乘客Johanna欲乘坐地铁从A站出发,前往G站,线路与站点的关系如下表所示。若Johanna每坐一站便需要1秒,换乘需要2秒,那么Johanna至少需要多长时间才能到达G站?
线路 | 站点1 | 站点2 | 站点3 | 站点4 |
---|---|---|---|---|
1号线 | A | B | C | D |
2号线 | B | E | F | - |
3号线 | C | F | G | - |
4号线 | D | E | G | - |
【解析】
通过上一个例题的学习,我们了解了一些图的基本概念,为了便于本题的研究,我们再引入一些概念:
顶点的度
顶点的度是指与该顶点相连的边的数目。
对于有向图,度又可分为入度和出度。其中,入度指的是以这个顶点为终点的有向边的数目,出度指的是以这个顶点为起点的有向边的数目。边的权
对于一条边的权是一个包含某种特定含义的数值,可能指代的是所需的时间、两点的距离、所需的成本等等。
由于本题中乘车与换乘所需的时间不同,我们可以标记边的权以记录时间成本。
由于换乘需要时间,我们可以将位于不同线路的换乘站单独用节点进行标记。例如,对于本例的站点B,可以用B1代表位于1号线的站点B,用B2代表位于2号线的站点B,B1与B2边的权为2。
根据上述分析,我们可以构建一个图,如下图所示:
从图中容易得出,Johanna通过乘坐1号线到达C站,换乘3号线到达G站,至少需要6秒。事实上,对于复杂的图,我们也有程序化的操作方法求出所花费的最小时间,该方法将在下一例题中进行介绍。
例3.3
【问题描述】乘客Kaisa欲乘坐地铁从A站出发,前往G站,线路与站点的关系如下表所示。若Kaisa每坐一站便需要1秒,换乘需要2秒,那么Kaisa至少需要多长时间才能到达G站?
线路 | 站点1 | 站点2 | 站点3 | 站点4 |
---|---|---|---|---|
1号线 | A | B | C | D |
2号线 | B | E | F | - |
3号线 | C | F | G | - |
【解析】
我们使用程序化的操作方法求出所花费的最小时间,根据先前的介绍,我们可以构建一个带权无向图来表示站点与站点之间的关系,其中,图的权指的是相邻两个节点之间所花费的时间。我们采用如下策略完成最小时间的计算:
1. 列出一张站点与线路之间关系的表格;
2. 建立一个两行若干列且可随时修改的表格,列数取决于节点数量(一个站点若同时存在于多条线路上则按多次计入),表格的第二行代表当前情况下,从起点走到该点已知的最短时间,由于最开始除起点外,我们并不知道到其他节点的最短时间是多少,我们可以将从起点到起点的时间标记为0,到其他点的时间标记为 $+\infty$ ,如下表所示:
A | B1 | B2 | C1 | C3 | D | E | F2 | F3 | G |
0 | $+\infty$ | $+\infty$ | $+\infty$ | $+\infty$ | $+\infty$ | $+\infty$ | $+\infty$ | $+\infty$ | $+\infty$ |
例如,当从A出发走到B1时,表被更新为:
A | B1 | B2 | C1 | C3 | D | E | F2 | F3 | G |
0 | 1 | $+\infty$ | $+\infty$ | $+\infty$ | $+\infty$ | $+\infty$ | $+\infty$ | $+\infty$ | $+\infty$ |
A | B1 | B2 | C1 | C3 | D | E | F2 | F3 | G |
0 | 1 | 3 | 10 | 8 | 11 | 4 | 5 | 7 | 8 |
自A出发,经过B1、B2的路径已被探索完,接下来可以从B1出发,经C1开始探索路径。
由于沿着$A\rightarrow B1\rightarrow C1$的访问顺序仅需3秒,比原有的10秒时间短,因此,对表格进行更新:
A | B1 | B2 | C1 | C3 | D | E | F2 | F3 | G |
0 | 1 | 3 | 3 | 8 | 11 | 4 | 5 | 7 | 8 |
A | B1 | B2 | C1 | C3 | D | E | F2 | F3 | G |
0 | 1 | 3 | 3 | 5 | 4 | 4 | 5 | 6 | 7 |
结语
前海居民们的智慧与勇气,犹如璀璨星辰,照亮了前行的道路。他们不满足于现状,始终保持着探索与创新的热情。从最初的简陋道路,到神奇的冰块轨道,再到如今令人叹为观止的传送式地铁,每一步的跨越都凝聚着前海人民无尽的智慧与汗水。
如今的前海,已然成为了一个交通便捷、生活繁荣的乐土。传送式地铁的发明,更是将前海带入了一个全新的时代。人们可以迅速穿梭于各个部落之间,无论距离有多远,只需一瞬便可抵达。这不仅极大地缩短了人们的出行时间,更提高了整个前海地区的生活品质。
站在前海的高地上,放眼望去,那纵横交错的传送式地铁线路,如同一条条巨龙盘旋在大地之上,见证着前海人民的智慧与力量。而在这片繁荣的土地上,前海居民们正享受着前所未有的便利与幸福。
在未来的日子里,前海将继续书写更多的辉煌篇章,为世人带来更多的惊喜与感动。
a
想起初一被几何支配的恐惧了
现在不恐惧因为麻了doge
1.3和1.4是初一初二的将军饮马模型,1.1和1.2是小学的两点之间线段最短和点线之间垂线段最短(前提是在同一平面内)。后面的是初三的圆和三角形的利用
我数学不好,只能考110多,别问我为什么:)
今天的努力,明天的实力
我说的第一章:)
今天的努力,明天的实力
第一章基本就是几何求线段最值,第二章专门解不等式,第三章基本就跟初中数学没关系了
其实1.5也是将军饮马……
3.1要用到无向图来储存,还要用BFS来搜索。我不会C++:/
想把文中所有的Erik改成Erika。。。逃
你可以猜猜看本文的姓名有什么规律,是从哪来的
酷
帖文预览:
关闭预览