双调欧几里得旅行商问题 Bitonic Euclidean Traveling-salesman Problem

Slides:



Advertisements
Similar presentations
3 的倍数特征 抢三十
Advertisements

3 的倍数的特征 的倍数有 : 。 5 的倍数有 : 。 既是 2 的倍数又是 5 的倍数有 : 。 12 , 18 , 20 , 48 , 60 , 72 , , 25 , 60 ,

2 和 5 的倍数的特征 运动热身 怎样找一个数的倍数? 从小到大写出 2 的倍数( 10 个): 写出 5 的倍数( 6 个) 2 , 4 , 6 , 8 , 10 , 12 , 14 , 16 , 18 , 20 5 , 10 , 15 , 20 , 25 , 30.
DP 二年级校长助理郭一根设计方案 广东碧桂园( IB )国际学校翻修方案 — 国际部 DP2 年级郭一根.
冀教版四年级数学上册 本节课我们主要来学习 2 、 3 、 5 的倍数特征,同学们要注意观察 和总结规律,掌握 2 、 3 、 5 的倍 数分别有什么特点,并且能够按 要求找出符合条件的数。
1 、会利用数射线比较 100 以内数的大小。 2 、通过解决与生活相关的实际问题, 使 学生感受数的大小比较在现实生活中的 重要作用, 发展学生的应用意识。 3 、充分感受比较策略的多样化, 学会比 较数的大小, 培养学生的数感。
100 以内数的认识 10 个一是十 10 个十是一百 10 个一是十 10 个十是一百 数一数 从 35 数到 42 从 88 数到 100.
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
传媒学生应该如何度 过四年大学生活?. 进入大学一个多月了,用一个词形容大 学生活 自卑感 不适应 空虚感 被动感 孤独感 失望感 一、大学新生不适应大学生活的表现:
北师大版四年级数学下册 天平游戏(二).
§3.4 空间直线的方程.
《解析几何》 -Chapter 3 §7 空间两直线的相关位置.
学党章党规、学系列讲话,做合格党员 学习教育
TSP问题及LINGO求解技巧.
“风神初振”的初唐诗 俞冰沁.
第十九课 南吕•一枝花 不 伏 老 关汉卿.
在数轴上比较数的大小.
贵宾专享 金融服务方案 邓慧景.
项目申报及投资推进工作实务 更多模板、视频教程: 兰溪市发展和改革局 2013年9月 1.
第三节 格林公式及其应用(2) 一、曲线积分与路径无关的定义 二、曲线积分与路径无关的条件 三、二元函数的全微分的求积 四、小结.
数形结合.
糖尿病肾病的护理 陈佳莉.
初中数学八年级下册 (苏科版) 10.4 探索三角形 相似的条件(2).
第二节 网络计划技术 网络图:一种由箭线和节点组成的,用来表示工作流程的有向有序的网状图形。
動態時間校正 (Dynamic Time Warping)
Lecture 5 Dynamic Programming
强连通分量 无向图 1、任意两顶点连通称该图为连通图 2、否则将其中的极大连通子图称为连通分量 A D C B E 有向图
柯 維 盈 製 作 (中研院史語所拓片與古文書數位典藏計畫助理)
第一单元:小数乘法 整数乘法运算定律 推广到小数 湖北省武汉市江汉区北湖小学 宋 俊.
使用矩阵表示 最小生成树算法.
第八模块 复变函数 第二节 复变函数的极限与连续性 一、复变函数的概念 二、复变函数的极限 二、复变函数的连续性.
专题作业.
线段的有关计算.
数据结构与算法(B)2018春季 习题(H4、H7).
顺序表的删除.
姚金宇 MIT SCHEME 使用说明 姚金宇
12.2全等三角形的判定(2) 大连市第三十九中学 赵海英.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
复习: 若A(x1,y1,z1) , B(x2,y2,z2), 则 AB = OB - OA=(x2-x1 , y2-y1 , z2-z1)
正切函数的图象和性质 周期函数定义: 一般地,对于函数 (x),如果存在一个非零常数T,使得当x取定义域内的每一个值时,都有
國民年金 np97006.
第四章 第四节 函数图形的描绘 一、渐近线 二、图形描绘的步骤 三 、作图举例.
1.设A和B是集合,证明:A=B当且仅当A∩B=A∪B
树和图 tree and graph 蔡亚星.
直线和圆的位置关系 ·.
第七、八次实验要求.
第6章 运输系统及运输优化.
分数再认识三 真假带分数的练习课.
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
正弦、余弦函数的性质 华容一中 伍立华 2017年2月24日.
高中数学必修 平面向量的基本定理.
§2-2 点的投影 一、点在一个投影面上的投影 二、点在三投影面体系中的投影 三、空间二点的相对位置 四、重影点 五、例题 例1 例2 例3
直线的倾斜角与斜率.
动态规划 Floyd最短路径算法 高文宇
总复习.
11908: Skyscraper ★★★☆☆ 題組:Problem Set Archive with Online Judge
4.6 图形的位似     观察思考:这两幅图片有什么特征? 都是有好几张相似图形组成,每个对应顶点都经过一点.
23.6 图形与坐标 图形的变换与坐标
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
複習 2013/12/24 Jehn-Ruey Jiang 江振瑞.
插入排序的正确性证明 以及各种改进方法.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
Ford-Fulkerson's Labeling Algorithm
任课教师:戴开宇 TA:时均帅、谭肖、王安华 程序设计B班 :20-16:50(90分钟)
* 07/16/ 天津市第七十四中学 李家利 *.
最小生成树 最优二叉树.
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
3.3.2 两点间的距离 山东省临沂第一中学.
10801: Lift Hopping ★★★☆☆ 題組:Problem Set Archive with Online Judge
Presentation transcript:

双调欧几里得旅行商问题 Bitonic Euclidean Traveling-salesman Problem 路径,从最左边的点开始,每次只能走横坐标严格递增的点最后到达最右边 的点,再沿横坐标严格递减的顺序走回最左边的点。要求每个点只能且必须 经过一次,且路径不能交叉。

欧几里得旅行商问题 给平面上n个点,要求找出最短的闭合回路,经过每个点有且仅有一次。 (旅行商问题:给一个图,每条边有边权,找一条最短路径经过每个点有且仅有 一次)

欧几里得旅行商问题是NP-hard 但是存在PTAS(Polynomial-time approximation scheme 双调欧几里得旅行商问题简化了很多

问题实际上是把点分成上下两份 *横坐标互不相同,先 按横坐标排一个全序, 然后再来做dp

所以我们有了一个O(2^n)的算法 枚举每一个点是在上方还是在下方 显然搜索空间有重复计算,下面考虑dp

假设已经确定其为下方的点 待确定的边 ? ???

看起来是个O(1)的转移,O(n^2)的状态数,总复杂度O(n^2) 想想怎么转移 dp[i][j]表示从最左边的起点开始,走下面的路到第i个点,走上面的路到第j个点, 且经过min(i,j)之前的点有且只有一次需要的最短路径长度(且规定i和j之间的点已 经被走过)。 看起来是个O(1)的转移,O(n^2)的状态数,总复杂度O(n^2) 想想怎么转移 j i 如果i和j是相邻的两个点,则转移非常简单 考虑前一个点是选为上方的点还是下方的点,利用dp[i-1][j]和dp[i][i-1] dp[i][j]=min(dp[i-1][j]+d[i-1][i],dp[i][i-1]+d[i-1][j])

不妨设i和j中较小(左)的点为i,,显然中间这些点不可能是和j同色的,只有可能 是和i同色的 i-1可以是上方的点吗? 需要判断两个点的连线会不会将中间的点分成两块 可以预处理,judge[i][j]表示i和j的连线会不会将i和j之间的点分成两块

对于每一个j,从右往左枚举i,记录i到j的斜率,更新到目前为止斜率的最大值和 最小值。 如果当前的i和j的连线被夹在前面枚举过的最大值和最小值之间,那么说明i和j将 中间的点分成了两块。 O(n^2)的预处理

总结 1、给n个点按横坐标从小到大排序,编号为1….n。O(n^2)处理任意两个点距离 d[i][j]。 2、预处理judge数组O(n^2),通过两重循环,judge[i][j]表示第i个点和第j个点的连 线会不会将i+1,…,j-1这些点切成两边。 3、递归(或递推)求解dp。dp[i][j]表示从最左边的点1走两条不相交,横坐标严 格递增的路径,下面一条到达i,上面一条到达j且经过1…i…j中所有点有且仅有一 次的最短路径。则可写出转移方程(不妨设i<j,i>1且j>1) dp[i][j]=min( dp[i-1][j]+d[i-1][i] ,judge[i-1][j] ? dp[i][i-1]+d[i-1][j] : inf) 初始状态dp[1][i]=dp[i][1]=sum_{k=1….i-1}d[k][k+1]。 转移时间复杂度O(1),状态数O(n^2),总复杂度O(n^2)。 最后的答案是dp[n][n]。(或者dp[n-1][n]和dp[n][n-1]里面取最大再加d[n-1][n]也行)

谢谢!