博客
关于我
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/

    你可能感兴趣的文章
    MYSQL搜索引擎
    查看>>
    mysql操作数据表的命令_MySQL数据表操作命令
    查看>>
    mysql操作日志记录查询_如何使用SpringBoot AOP 记录操作日志、异常日志?
    查看>>
    MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?
    查看>>
    mysql支持表情
    查看>>
    MySQL支撑百万级流量高并发的网站部署详解
    查看>>
    MySQL改动rootpassword的多种方法
    查看>>
    mysql数据分组索引_MYSQL之索引配置方法分类
    查看>>
    mysql数据取差,mysql屏蔽主外键关联关系
    查看>>
    MySQL数据和Redis缓存一致性方案详解
    查看>>
    MySQL数据和Redis缓存一致性方案详解
    查看>>
    Mysql数据库 InnoDB存储引擎中Master Thread的执行流程
    查看>>
    MySQL数据库 范式
    查看>>
    Mysql数据库B-Tree索引
    查看>>
    mysql数据库io空闲_mysql数据库磁盘io高的排查
    查看>>
    mysql数据库root密码忘记,查看或修改的解决方法
    查看>>
    MySQL数据库SQL注入靶场sqli通关实战(附靶场安装包)
    查看>>
    MYSQL数据库下载安装(Windows版本)
    查看>>
    MySQL数据库与Informix:能否创建同名表?
    查看>>
    mysql数据库中的数据如何加密呢?mysql8.0自带新特性
    查看>>