博客
关于我
Shortest Path(牛客每日一题)思维,图论
阅读量:747 次
发布时间:2019-03-22

本文共 643 字,大约阅读时间需要 2 分钟。

为了寻找n个点分成n/2对且距离总和最小的方式,我们需要构建一个包含所有点的完全图,计算每对点之间的欧氏距离,然后应用最优匹配算法找出使总距离最小的配对方式。以下为详细步骤:

  • 构建完全图:首先将每个点与其他所有点计算欧氏距离,建立一个完全图,其中节点为各点,边权重为两点之间的距离。

  • 寻找最优匹配:使用最大权最小匹配算法(如Edmonds算法)或采用邻接矩阵化简的方法,寻找总权重最小的匹配。

  • 计算总距离:将匹配中的所有边的权重相加,得到最小总距离。

  • 这种方法确保了所有可能的配对都被考虑到,且找到了最小的总距离配置。下面将通过示例来说明这一过程。

    示例:假设n=4,点坐标为A(0,0),B(1,0),C(0,1),D(1,1)。

  • 计算所有点对的距离:

    • AB: units=1
    • AC: units=√2
    • AD: units=√2
    • BC: units=1
    • BD: units=1
    • CD: units=1
  • 构建完全图后,将所有可能的匹配列出:

    • AB+CD → 总距离=1+1=2
    • AC+BD → 总距离=√2+1=√3≈1.732
    • AD+BC → 总距离=√2+1≈1.732
    • CD+AB同上,总距离=2
    • 其他配对如中点配对可能会导致更大总距离
  • 比较以上结果,最小总距离为√3≈1.732。通过Edmonds算法或其他匹配算法,系统化地筛选最优配对,避免人为错误。

  • 以上步骤展示了如何系统化地解决问题,确保找到的配对确实是最小总距离的。通过编写程序或使用图处理工具,可进一步优化计算过程。

    转载地址:http://ziewk.baihongyu.com/

    你可能感兴趣的文章
    nginx配置域名和ip同时访问、开放多端口
    查看>>
    Nginx配置多个不同端口服务共用80端口
    查看>>
    Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
    查看>>
    Nginx配置如何一键生成
    查看>>
    Nginx配置实例-动静分离实例:搭建静态资源服务器
    查看>>
    Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中
    查看>>
    Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页面
    查看>>
    Nginx配置实例-负载均衡实例:平均访问多台服务器
    查看>>
    Nginx配置文件nginx.conf中文详解(总结)
    查看>>
    Nginx配置自带的stub状态实现活动监控指标
    查看>>
    Nginx配置详解
    查看>>
    nginx配置详解、端口重定向和504
    查看>>
    Nginx配置负载均衡到后台网关集群
    查看>>
    Nginx配置限流,技能拉满!
    查看>>
    Nginx配置静态代理/静态资源映射时root与alias的区别,带前缀映射用alias
    查看>>
    Nginx面试三连问:Nginx如何工作?负载均衡策略有哪些?如何限流?
    查看>>
    nginx:/usr/src/fastdfs-nginx-module/src/common.c:21:25:致命错误:fdfs_define.h:没有那个文件或目录 #include
    查看>>
    Nginx:NginxConfig可视化配置工具安装
    查看>>
    Nginx:现代Web服务器的瑞士军刀 | 文章末尾送典藏书籍
    查看>>
    ngModelController
    查看>>