五一数模竞赛a题

2024-05-10

2024-05-10-2024_51数模竞赛A题

经验1:三角形两短边相加大于第三边长,直线最短 经验2:直线周围没有单个闭合曲线,不走岔路(一旦走了岔路,必定要有往回的空程) 经验3:被包围的完整曲线要保持“入口”与“出口”一致

  1. 对于两条平行的线段 从开始的那头,一直裁剪到开头所在线段结束,再连接另一个线段较近的那一段,接着裁剪

  2. 对于线段和闭合圆曲线 如果线段无拐角 先将闭合圆曲线的斜率计算并保存为A,将无转角线段斜率遍历A,找到几个斜率相同点并将它们返回,取距离最近的元素计算一倍空程距离 如果线段有拐角 将拐角点的坐标保存,计算所有拐角点距离闭合圆曲线的最短距离(套公式),取最小值,(这里可以简单做一个取最小值优化)

  3. 对于无拐点线段和闭合矩形(线段与闭合矩形的某一边平行) 如果线段两端都在矩形边长两端之内 或 线段一头在外边,一头在里边 从线段一端(如果有靠外端,就从外端开始走)走到另一端,再垂直进入矩形 如果两端都在矩形边长两端之外(线段两头都计算,取最小值) 如果两倍垂直距离 大于 线段端点到矩形较近一端点的距离 取最小空程为 线段端点到矩形较近一端点的距离 如果不是 取最小空程为 两倍垂直距离

  4. 对于有拐点线段和闭合矩形

  5. 对于无拐点线段和多联通区域 将多联通区域框起来,看作单连通闭合矩形,根据上面的逻辑,再对单连通闭合矩形内的最小空程进行分析

题目链接

思路文档链接

论文链接