(精品)数学建模
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
也就是说,5确实是我们要求的答案
根据上面的证明,可以发现一种思路,不妨把 上述结果推广一下: 设n根木棍的长度为L1,L2,…,Ln,不妨设L1为所有 木棍中最短的 现在把能够拼出的木棍长度根据模L1的结果分 为L1类(0,1…L1-1),若某一类中的数模L1的结果为 i,则它们组成的集合为Si 显然,如果存在一个集合Si为空,则问题无解 现在考虑所有集合都不为空的情况: 设每个集合的最小元为b0,b1…bl1-1 (集合不为 空,肯定存在最小元)
建模步骤的总结
• 模型的分析与求解
– 已建立的模型是否有标准解法 – 转化成标准模型 – 对已有的标准解法修改,以适应模型的求解
• 模型的检验
– 灵敏性,鲁棒性
• 模型的应用
图论模型的引入
引例
现有6个人,任意两人之间或者相互 认识,或者相互不认识,证明这6个人中, 或者有3个人彼此都认识,或者有3个人 彼此不认识
现有n根长度不同的小木棍,每根木棍数量无限,取出一些小木棍可以拼 出一根长度为这些小木棍长度之和的木棍。现在要求最小的整数k,使得 长度大于等于k的木棍都能够被给出的n根小木棍拼出。
这个题看上去似乎毫无头绪,那就先看看简单的情况吧!
例如,现在有3根小木棍,长度分别3,5,7 它们可以拼出长度为3,5,6,7,8,9,10,11,12,13……的木棍,看上去5就是 答案,怎么证明呢?
路中任意相邻的两站之间所花费的时间。 • 并且给定乘客在任意站点换乘的耗时 • 要求给出任意两公汽站点之间线路选择问
题的一般数学模型与算法,求出最佳的公 交线路.
模型的假设
• 对”最优”的理解有三个具有代表性的指标:
• 时间最短
• 花费最少
• 最方便(换乘次数最少)
• 不同的人群对最优的理解不同,需要根据实 际定义.可以根据需要定义代价函数,三个指 标的权重不同,代价值也不同。
姚峰宏
罗睿辞
廖叶子
• 一条边就代表了一种坐船的搭配方式
建模
• 图是本题信息最充分、最自然的模型,但其中 数据关系存在很多冗余,没有充分利用原题的 条件
• 单独看同名、同姓这2种关系,它们都是等价 关系,具有传递性
• 那么换一种模型构造如何?
• 把图转换成树来考虑
建模
• 对于原图中的每一个连通分量,一定可以转换成 一棵二叉树
那么如何去求题目要求的k呢?
考虑这样一个值:k’=max {bn} - L1,1<=n<L1,(b0=0, 不考虑)
L1是最短的木棍,故k’>0.
⑴ k’不属于任何Si集合,否则与k’是某个S中最小元。 即k’不能被小木棍拼出。
⑵ 对任意L>k’,设L Sp,L+L1>max{bn}>=bp 故 L>bp-L1 而L bp (mod p) 所以 L>=bp,所以L一定能够被拼出 由以上两点可知,k’一定是不能被拼出的木棍长度中 的最大值
罗睿辞
罗睿辞
罗贯中
罗纳尔多
廖睿辞
罗贯中
廖睿辞
罗纳尔多
树中一个结点的左孩子跟其同姓; 一个结点的右孩子跟其同名。 证明用反证法
问题的解决
• 含有n个点的连通分量,至少需要(n+1) div 2 只船
• 使用贪心法,一定可以构造出一个只需(n+1) div 2只船的解
罗睿辞
罗睿辞
罗贯中 罗睿辞
罗贯中
廖睿辞
可以考虑把能够拼出来的木棍长度x根据模3的结果分成3类(0,1,2) 对于x mod 3=0,3能够拼出来,那么6,9,12……等等模3为0的数都可以 被拼出来 对于x mod 3=1,7能被拼出来,那么7,10,13……等等都能被拼出来 对于x mod 3=2,5能被拼出来,那么8,11,14……等等都能被拼出来
•
M为公交线路的总数
7 a
c
Min(a,b)=5
6
Min(b,c)=3
5
3
b(8)
Min(a,c)=5+6=11
• 回顾上图
• 导致无法使用标准算法原因:
– Min(a,b)和Min(b,c)之间需要计算附加耗时 – 不用换车的线路成为最佳路径
• 改进的想法:一次性地处理不用换车的情况
模型的求解
•
以时间最短为例
模型的建立
• G=(V,E)
• 每个车站:G的顶点
• 每条公交线路相邻两点的连线:G的边
• 边的权重:耗费时间 点的权重:换乘时间
• 并不是一个简单图,两点间可能有多条边
7 a
c 9
5
3
b(8)
与经典最短路径问题比较
• 考虑a经过b到c的最短路径 • 由于有换乘的情况,只记录任意两点间的
任取一个顶点v0,由它连出5条边到其它的顶点,这五条边只有红色和蓝 色两种 根据抽屉原理,肯定有一种颜色的边有3条或3条以上,不妨设为红色
v0
vi
vk
vj
如果vi,vj,vk之间的边都是蓝边,则图中存在一个蓝三角形 如果至少有1条为红边,那么它总会与v0发出的两条红边组成 一个红三角形。 这样就证明了这个命题
有了这个结论,我们就可以很容易的求出序列{bn}了
至此,这个问题也就被完美的解决
数学建模——模型的选择、 关系的简化
• 很多问题都是通过建立图论模型解决的
• 图论中常见的模型有序列、树、各种图
• 如何有效选择数学模型,简化原问题中元素之 间的关系是数学建模的关键
题目
• 坐船问题(改编自湖南省信息学省队选拔赛试 题)
最短路径是不够的。 • 并非一个标准的图论模型
7 a
c 6
5
3
b(8)
Min(a,b)=5 Min(b,c)=3 Min(a,c)=5+6=11
转化成标准的图论模型
• 每条公交线路抽象 为一层
• 层与层之间相连的 顶点均代表同一个 车站
• 它们之间的边(虚 线)的权值为换乘 花费的时间
•
调用M*M次Dijkstra算法才能得到最优解
20
7 a
5
c 加入步行的路径
6
并给定权值
• 由于每两点之间均有步行路径,每次扩展都将涉及 到所有顶点,复杂度增加不少
• 改进的办法
– 预处理 找到两个相邻顶点之间路径的最小值, 如果它加上两个顶点的权值之后后,仍然小于一 些其它的路径,就可以将其它路径删除.这样至少 可以删除不少步行路径
– 考虑实际情况,可设定步行时间的上限.
• 北大有n个学生去公园划船: • 一只船最多坐2个人; • 出于娱乐目的,大家决定同船的2个人要么同
姓要么同名; • 每个人都必须上船,且不能有脚踏多只船的情
况 • 问最少需要几只船。
例子
• 6个同学:姚金宇,李金宇,姚峰宏,陈峰宏
姚金宇 姚峰宏 陈峰宏 李金宇
姚金宇 李金宇 陈峰宏 姚峰宏
例子
• 标准算法: – 每次选择一个新顶点进行扩展 – 所有顶点扩展完毕即为最优解
• 修改后的算法 – 每次对一个顶点所能选择的所有公交线路扩 展 – 所有不用换乘就能到达的顶点均在一次中处 理 – 所有顶点扩展完毕即为最优解.
算法描述
• 一次将扩展出多个顶点,用最小值堆保存
• 初始: 起点对应的节点S入堆;并赋予标 志信息Time(S)=0
选择扩展的节点
• 从活结点表中选择下一扩展结点可能有 不同的方式
• 队列式分支限界法:先入先出的原则 • 优先队列式分支限界法:选择优先级最
高的节点进行扩展 • 最大效益问题:最大值堆 • 最小耗费问题:最小值堆
一个简单的例子
• 印刷电路板将布线区域划分为n×m个方 格阵列
• 精确的电路板布线问题要求确定连接方格 a的中点到方格b的中点的最短布线方案。
思路一
只有6个人,人数非常少,可以枚举任意两人 之间的关系,然后判断每一种情况是否符合 题意。如果所有情况都满足,则命题成立。
虽然只有6个人,但是这样做的时间复杂度可 不低,枚举次数为215 只能借助计算机了。。。
有没有人可以直接证明的办 法呢?
思路二
有了图论这个强大的工具 我们还是像往常一样,以人为顶点,关系为边,建图 但是为了以后的直观,这里图的建立有一点小小的不同: 如果两个人之间相互认识,则在这两个人(顶点)间连一条红色边, 如果两个人不认识,则在这两个人(顶点)间连一条蓝色边(下面会 看到这样做的好处) 那么这样我们就得到了一个由红边和蓝边组成的6阶完全图 我们实际上要证明的就是这个图中或者存在一个红三角形(认识), 或者存在一个蓝三角形(不认识)
• 4个同学:陈峰宏,囧峰宏,罗睿辞,廖叶子
陈峰宏 囧峰宏 罗睿辞 廖叶子
陈峰宏 囧峰宏 罗睿辞 廖叶子
• 罗睿辞同学想和廖叶子同学坐同一船是不行的,因为
建模
• 将每一同学视为一元素,元素之间的关系为同名 或者同姓
• 构图是很自然的思路:2名同学同名或者同姓就连
一条姚边金宇
李金宇
陈峰宏
囧峰宏
陈峰宏
算法的总结
• 关键在于如何解决换乘的耗时 • 扩展节点的策略与经典算法不同 • 算法实际用到了分支界限法的思想 • 类似于回溯法,但是求解的目标不同。 • 目标:找到使目标函数取极值的解。
分支界限法思想
• 以广度优先或以最小耗费(最大效益) 优先的方式搜索问题的解空间树
• 从一个点开始,每次以一定的策略扩展 一些结点。每一个活结点一旦成为扩展 结点,就一次性产生其所有子结点,并 从活节点中移除。在产生 的子结点中, 导致不可行解或导致非最优解的子结点 被舍弃,其余的加入活结点表中。
那么k’+1就是我们要求的答案!
还剩下最后一步:求b0,b1,b2…bl1-1,也就是每个集合中的最小元
事实上,每一个能被拼出来的木棍长度x,都是从0开始,用已有的小木 棍拼出来的。那么就可以把集合的编号看做顶点,小木棍的长度看边的 长度,建立一个图。对于每个点i(集合i),都连出n条边,长度为 L1,L2…Ln。对于长度为Lk的边,连向编号为(i+Lk) mod L1的顶点。
数学建模
雷涛 罗睿辞 王尧 汪瑜婧
数学建模的定义
• 目前还没有统一的定义 • 数学模型是为一种特殊目的而建立
的一个抽象的、简化的结构。 • 描述现实世界的一部分特征 • 表现事物之间的一部分客观联系
数学模型的分类
• 微分方程模型 • 差分方程模型 • 层次分析模型 • 线性规划模型 • 动态规划模型 • 图论模型 • 其它模型
主要内容
• 建模的方法和步骤 ——汪瑜婧
• 图论模型的建立
——罗睿辞
• 图论模型的选择和关系的简化
——雷涛
• 其它数学模型举例
——王尧
建模的方法和步骤
• 模型准备 • 模型假设 • 模型的建立 • 模型求解与分析 • 模型检验 • 模型应用
问题的提出
• 2007CUMCM B题 乘公交,看奥运 • 给定若干条公交线路,以及在每条公交线
• 取堆顶,对此定点,逐一枚举所有不用换乘 就能到达的顶点,更新堆中对应点的标志信 息.
• 不断重复取堆顶的过程,直到取出的顶点为 最终目标T
wk.baidu.com
•
Time(T)即为所求
举例说明算法步骤
c
12
9
a
9
22
9
b 20
d
8 5
g 15
11
f 6
考虑顶点b到顶点g的路径 e
问题重述
• 加入步行的因素,即任意两个车站之间人都 可能通过步行到达,并给出步行的时间代价.
廖睿辞
罗纳尔多
罗纳尔多是罗贯中的独生子, 去掉他们2个,树依然连通
廖睿辞依然是罗睿辞的独生 子,将它们分成一组
罗纳尔多 廖睿辞 得到了一个最优解
贪心构造
• 1、若叶子结点是父亲的独生子,则删去它们2个, 树依然保持性质
• 2、若父亲结点有2个孩子
重复以上步骤直至树为空或者只剩一个结点为止
贪心举例
对于从顶点i到j的一条长度为L的路径,表示集合i中的一个数加上L后得到 的数属于集合j。
对于任意一个能拼出来的数x(设x mod L1=p),根据上面的建图规则,x一 定是点0到p的一条路径的长度。
反过来,0到p的所有路径长度都属于Sp。
所以,可以得出结论:Sp中的最小元其实就是顶点0到顶点p的最短路径 长度。
21
1a12
212
b
234
567
67
32
21
1a12
212
b
234
8
5678
678
建模步骤的总结
• 模型的准备
– 提出问题,搜集数据。
• 模型的假设
– 根据实际情况,提出合理的假设简化问题。
• 模型的建立
– 根据所作的假设分析对象的因果关系,利用 对象的内在规律和适当的数学工具,构造各 个量间的等式关系或其它数学结构。
贾由
贾云
贾宝玉
陈云
陈峰宏
王云
贪心举例
贾由
贾云
贾宝玉
• 布线时电路只能沿直线或直角布线。 • 为避免线路相交,已布线方格做上封闭标
记,其他线路布线不允许穿过封闭区域。
a b
1
1a1
1
b
2
21
1a12
212
b
2
32
21
1a12
212
b
23
32
21
1a12
212
b
234
32
21
1a12
212
b
234
5
32
21
1a12
212
b
234
56
6
32
根据上面的证明,可以发现一种思路,不妨把 上述结果推广一下: 设n根木棍的长度为L1,L2,…,Ln,不妨设L1为所有 木棍中最短的 现在把能够拼出的木棍长度根据模L1的结果分 为L1类(0,1…L1-1),若某一类中的数模L1的结果为 i,则它们组成的集合为Si 显然,如果存在一个集合Si为空,则问题无解 现在考虑所有集合都不为空的情况: 设每个集合的最小元为b0,b1…bl1-1 (集合不为 空,肯定存在最小元)
建模步骤的总结
• 模型的分析与求解
– 已建立的模型是否有标准解法 – 转化成标准模型 – 对已有的标准解法修改,以适应模型的求解
• 模型的检验
– 灵敏性,鲁棒性
• 模型的应用
图论模型的引入
引例
现有6个人,任意两人之间或者相互 认识,或者相互不认识,证明这6个人中, 或者有3个人彼此都认识,或者有3个人 彼此不认识
现有n根长度不同的小木棍,每根木棍数量无限,取出一些小木棍可以拼 出一根长度为这些小木棍长度之和的木棍。现在要求最小的整数k,使得 长度大于等于k的木棍都能够被给出的n根小木棍拼出。
这个题看上去似乎毫无头绪,那就先看看简单的情况吧!
例如,现在有3根小木棍,长度分别3,5,7 它们可以拼出长度为3,5,6,7,8,9,10,11,12,13……的木棍,看上去5就是 答案,怎么证明呢?
路中任意相邻的两站之间所花费的时间。 • 并且给定乘客在任意站点换乘的耗时 • 要求给出任意两公汽站点之间线路选择问
题的一般数学模型与算法,求出最佳的公 交线路.
模型的假设
• 对”最优”的理解有三个具有代表性的指标:
• 时间最短
• 花费最少
• 最方便(换乘次数最少)
• 不同的人群对最优的理解不同,需要根据实 际定义.可以根据需要定义代价函数,三个指 标的权重不同,代价值也不同。
姚峰宏
罗睿辞
廖叶子
• 一条边就代表了一种坐船的搭配方式
建模
• 图是本题信息最充分、最自然的模型,但其中 数据关系存在很多冗余,没有充分利用原题的 条件
• 单独看同名、同姓这2种关系,它们都是等价 关系,具有传递性
• 那么换一种模型构造如何?
• 把图转换成树来考虑
建模
• 对于原图中的每一个连通分量,一定可以转换成 一棵二叉树
那么如何去求题目要求的k呢?
考虑这样一个值:k’=max {bn} - L1,1<=n<L1,(b0=0, 不考虑)
L1是最短的木棍,故k’>0.
⑴ k’不属于任何Si集合,否则与k’是某个S中最小元。 即k’不能被小木棍拼出。
⑵ 对任意L>k’,设L Sp,L+L1>max{bn}>=bp 故 L>bp-L1 而L bp (mod p) 所以 L>=bp,所以L一定能够被拼出 由以上两点可知,k’一定是不能被拼出的木棍长度中 的最大值
罗睿辞
罗睿辞
罗贯中
罗纳尔多
廖睿辞
罗贯中
廖睿辞
罗纳尔多
树中一个结点的左孩子跟其同姓; 一个结点的右孩子跟其同名。 证明用反证法
问题的解决
• 含有n个点的连通分量,至少需要(n+1) div 2 只船
• 使用贪心法,一定可以构造出一个只需(n+1) div 2只船的解
罗睿辞
罗睿辞
罗贯中 罗睿辞
罗贯中
廖睿辞
可以考虑把能够拼出来的木棍长度x根据模3的结果分成3类(0,1,2) 对于x mod 3=0,3能够拼出来,那么6,9,12……等等模3为0的数都可以 被拼出来 对于x mod 3=1,7能被拼出来,那么7,10,13……等等都能被拼出来 对于x mod 3=2,5能被拼出来,那么8,11,14……等等都能被拼出来
•
M为公交线路的总数
7 a
c
Min(a,b)=5
6
Min(b,c)=3
5
3
b(8)
Min(a,c)=5+6=11
• 回顾上图
• 导致无法使用标准算法原因:
– Min(a,b)和Min(b,c)之间需要计算附加耗时 – 不用换车的线路成为最佳路径
• 改进的想法:一次性地处理不用换车的情况
模型的求解
•
以时间最短为例
模型的建立
• G=(V,E)
• 每个车站:G的顶点
• 每条公交线路相邻两点的连线:G的边
• 边的权重:耗费时间 点的权重:换乘时间
• 并不是一个简单图,两点间可能有多条边
7 a
c 9
5
3
b(8)
与经典最短路径问题比较
• 考虑a经过b到c的最短路径 • 由于有换乘的情况,只记录任意两点间的
任取一个顶点v0,由它连出5条边到其它的顶点,这五条边只有红色和蓝 色两种 根据抽屉原理,肯定有一种颜色的边有3条或3条以上,不妨设为红色
v0
vi
vk
vj
如果vi,vj,vk之间的边都是蓝边,则图中存在一个蓝三角形 如果至少有1条为红边,那么它总会与v0发出的两条红边组成 一个红三角形。 这样就证明了这个命题
有了这个结论,我们就可以很容易的求出序列{bn}了
至此,这个问题也就被完美的解决
数学建模——模型的选择、 关系的简化
• 很多问题都是通过建立图论模型解决的
• 图论中常见的模型有序列、树、各种图
• 如何有效选择数学模型,简化原问题中元素之 间的关系是数学建模的关键
题目
• 坐船问题(改编自湖南省信息学省队选拔赛试 题)
最短路径是不够的。 • 并非一个标准的图论模型
7 a
c 6
5
3
b(8)
Min(a,b)=5 Min(b,c)=3 Min(a,c)=5+6=11
转化成标准的图论模型
• 每条公交线路抽象 为一层
• 层与层之间相连的 顶点均代表同一个 车站
• 它们之间的边(虚 线)的权值为换乘 花费的时间
•
调用M*M次Dijkstra算法才能得到最优解
20
7 a
5
c 加入步行的路径
6
并给定权值
• 由于每两点之间均有步行路径,每次扩展都将涉及 到所有顶点,复杂度增加不少
• 改进的办法
– 预处理 找到两个相邻顶点之间路径的最小值, 如果它加上两个顶点的权值之后后,仍然小于一 些其它的路径,就可以将其它路径删除.这样至少 可以删除不少步行路径
– 考虑实际情况,可设定步行时间的上限.
• 北大有n个学生去公园划船: • 一只船最多坐2个人; • 出于娱乐目的,大家决定同船的2个人要么同
姓要么同名; • 每个人都必须上船,且不能有脚踏多只船的情
况 • 问最少需要几只船。
例子
• 6个同学:姚金宇,李金宇,姚峰宏,陈峰宏
姚金宇 姚峰宏 陈峰宏 李金宇
姚金宇 李金宇 陈峰宏 姚峰宏
例子
• 标准算法: – 每次选择一个新顶点进行扩展 – 所有顶点扩展完毕即为最优解
• 修改后的算法 – 每次对一个顶点所能选择的所有公交线路扩 展 – 所有不用换乘就能到达的顶点均在一次中处 理 – 所有顶点扩展完毕即为最优解.
算法描述
• 一次将扩展出多个顶点,用最小值堆保存
• 初始: 起点对应的节点S入堆;并赋予标 志信息Time(S)=0
选择扩展的节点
• 从活结点表中选择下一扩展结点可能有 不同的方式
• 队列式分支限界法:先入先出的原则 • 优先队列式分支限界法:选择优先级最
高的节点进行扩展 • 最大效益问题:最大值堆 • 最小耗费问题:最小值堆
一个简单的例子
• 印刷电路板将布线区域划分为n×m个方 格阵列
• 精确的电路板布线问题要求确定连接方格 a的中点到方格b的中点的最短布线方案。
思路一
只有6个人,人数非常少,可以枚举任意两人 之间的关系,然后判断每一种情况是否符合 题意。如果所有情况都满足,则命题成立。
虽然只有6个人,但是这样做的时间复杂度可 不低,枚举次数为215 只能借助计算机了。。。
有没有人可以直接证明的办 法呢?
思路二
有了图论这个强大的工具 我们还是像往常一样,以人为顶点,关系为边,建图 但是为了以后的直观,这里图的建立有一点小小的不同: 如果两个人之间相互认识,则在这两个人(顶点)间连一条红色边, 如果两个人不认识,则在这两个人(顶点)间连一条蓝色边(下面会 看到这样做的好处) 那么这样我们就得到了一个由红边和蓝边组成的6阶完全图 我们实际上要证明的就是这个图中或者存在一个红三角形(认识), 或者存在一个蓝三角形(不认识)
• 4个同学:陈峰宏,囧峰宏,罗睿辞,廖叶子
陈峰宏 囧峰宏 罗睿辞 廖叶子
陈峰宏 囧峰宏 罗睿辞 廖叶子
• 罗睿辞同学想和廖叶子同学坐同一船是不行的,因为
建模
• 将每一同学视为一元素,元素之间的关系为同名 或者同姓
• 构图是很自然的思路:2名同学同名或者同姓就连
一条姚边金宇
李金宇
陈峰宏
囧峰宏
陈峰宏
算法的总结
• 关键在于如何解决换乘的耗时 • 扩展节点的策略与经典算法不同 • 算法实际用到了分支界限法的思想 • 类似于回溯法,但是求解的目标不同。 • 目标:找到使目标函数取极值的解。
分支界限法思想
• 以广度优先或以最小耗费(最大效益) 优先的方式搜索问题的解空间树
• 从一个点开始,每次以一定的策略扩展 一些结点。每一个活结点一旦成为扩展 结点,就一次性产生其所有子结点,并 从活节点中移除。在产生 的子结点中, 导致不可行解或导致非最优解的子结点 被舍弃,其余的加入活结点表中。
那么k’+1就是我们要求的答案!
还剩下最后一步:求b0,b1,b2…bl1-1,也就是每个集合中的最小元
事实上,每一个能被拼出来的木棍长度x,都是从0开始,用已有的小木 棍拼出来的。那么就可以把集合的编号看做顶点,小木棍的长度看边的 长度,建立一个图。对于每个点i(集合i),都连出n条边,长度为 L1,L2…Ln。对于长度为Lk的边,连向编号为(i+Lk) mod L1的顶点。
数学建模
雷涛 罗睿辞 王尧 汪瑜婧
数学建模的定义
• 目前还没有统一的定义 • 数学模型是为一种特殊目的而建立
的一个抽象的、简化的结构。 • 描述现实世界的一部分特征 • 表现事物之间的一部分客观联系
数学模型的分类
• 微分方程模型 • 差分方程模型 • 层次分析模型 • 线性规划模型 • 动态规划模型 • 图论模型 • 其它模型
主要内容
• 建模的方法和步骤 ——汪瑜婧
• 图论模型的建立
——罗睿辞
• 图论模型的选择和关系的简化
——雷涛
• 其它数学模型举例
——王尧
建模的方法和步骤
• 模型准备 • 模型假设 • 模型的建立 • 模型求解与分析 • 模型检验 • 模型应用
问题的提出
• 2007CUMCM B题 乘公交,看奥运 • 给定若干条公交线路,以及在每条公交线
• 取堆顶,对此定点,逐一枚举所有不用换乘 就能到达的顶点,更新堆中对应点的标志信 息.
• 不断重复取堆顶的过程,直到取出的顶点为 最终目标T
wk.baidu.com
•
Time(T)即为所求
举例说明算法步骤
c
12
9
a
9
22
9
b 20
d
8 5
g 15
11
f 6
考虑顶点b到顶点g的路径 e
问题重述
• 加入步行的因素,即任意两个车站之间人都 可能通过步行到达,并给出步行的时间代价.
廖睿辞
罗纳尔多
罗纳尔多是罗贯中的独生子, 去掉他们2个,树依然连通
廖睿辞依然是罗睿辞的独生 子,将它们分成一组
罗纳尔多 廖睿辞 得到了一个最优解
贪心构造
• 1、若叶子结点是父亲的独生子,则删去它们2个, 树依然保持性质
• 2、若父亲结点有2个孩子
重复以上步骤直至树为空或者只剩一个结点为止
贪心举例
对于从顶点i到j的一条长度为L的路径,表示集合i中的一个数加上L后得到 的数属于集合j。
对于任意一个能拼出来的数x(设x mod L1=p),根据上面的建图规则,x一 定是点0到p的一条路径的长度。
反过来,0到p的所有路径长度都属于Sp。
所以,可以得出结论:Sp中的最小元其实就是顶点0到顶点p的最短路径 长度。
21
1a12
212
b
234
567
67
32
21
1a12
212
b
234
8
5678
678
建模步骤的总结
• 模型的准备
– 提出问题,搜集数据。
• 模型的假设
– 根据实际情况,提出合理的假设简化问题。
• 模型的建立
– 根据所作的假设分析对象的因果关系,利用 对象的内在规律和适当的数学工具,构造各 个量间的等式关系或其它数学结构。
贾由
贾云
贾宝玉
陈云
陈峰宏
王云
贪心举例
贾由
贾云
贾宝玉
• 布线时电路只能沿直线或直角布线。 • 为避免线路相交,已布线方格做上封闭标
记,其他线路布线不允许穿过封闭区域。
a b
1
1a1
1
b
2
21
1a12
212
b
2
32
21
1a12
212
b
23
32
21
1a12
212
b
234
32
21
1a12
212
b
234
5
32
21
1a12
212
b
234
56
6
32