尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

网格图分治模型

网格图分治模型
📅 发布时间:2026/6/22 5:15:57

若网格图面积为 \(S\),取短边分治,令分治层的复杂度和短边相关(一般是从短边上每个点出发对整个网格图 DP/搜索 之类的)。

因为短边长度 \(O(\sqrt S)\)(一般)一层复杂度是 \(O(S\sqrt S)\),总复杂度 \(T(S)=2T(S/2)+O(S\sqrt S)=O(S\sqrt S)=O(n^3)\)。

例一:P6976

多次查询最短路,我们联想到网格图最短路的分治模型。

  • 如果行数(或者对称的列数)比较小,可以直接对列分治,从分界列上每个点为起点跑最短路,然后计算跨过分界列的查询。

  • 如果行列个数大概同阶,就选小的那边分治,同理计算。

以上两种做法都是沿用了一个思路:取一个不大的点集,让它们构成图的割集。从这个点集里每个点作为起点都跑一次最短路,用 "经过它们的最短路" 来更新答案,再递归入割开的每个块里继续处理。

有了这个想法本题就比较简单了。考虑取什么割集,比较好想到只要取一条对角线,然后从两个端点出发跑最短路,再递归进对角线两半就行了。那问题在于取什么对角线,如果取的对角线分出的两半大小很不均匀就炸了。

然后考虑取什么对角线是比较均匀的。一个自然的想法是找到圆心,取圆心所在三角形的三条边里划分最均匀的那条。

事实上这是对的,因为这三条边划分出来较大的部分一定是圆心所在部分,而较小的那部分都不相交,所以三个较小的部分里大小最大的一定超过 \(n/3\)。因此一次递归会划分为 \(1/3\) 和 \(2/3\) 两个部分,一共 \(\log\) 层到底。

因为是没有边权的,所以求最短路 bfs 即可,复杂度 \(O((n+q)\log n)\)。

注意如果有边权的话,就算起点终点位于同一边,但仍然可能存在起点跨过分界线再回来的最短路。


另外一种观察角度是注意到这个东西是个平面图,平面图那就自然考虑对偶图。然后发现对偶图上是若干个三角形作为点的。

手玩一下可以得出结论:对偶图是一棵树,且每个点的度数 \(\le 3\)。然后在对偶图上做边分治即可,就是和上面一样的过程。

相关新闻

  • Python内置的lru_cache装饰器实现缓存教程
  • 北京墙体彩绘公司推荐香鲸艺术坊,行业排名遥遥领先!
  • java---gradle配置国内镜像

最新新闻

  • 如何利用Video2X实现AI驱动的视频画质无损提升
  • GEO排名优化服务商TOP8权威评测:2026年AI搜索排名提升指南 - GEORANK
  • 天津遗嘱咨询律所联系方式推荐 本地专业家事法律服务优选指南 - 外贸老黄
  • MuddyWater APT组织钓鱼攻击剖析与纵深防御实战指南
  • 生成式AI优化服务商TOP8盘点:2026年企业品牌AI认知提升指南 - GEORANK
  • 连续体机器人接触感知轨迹规划:从环境交互到智能控制

日新闻

  • Arduino-ESP32项目深度解析:解锁隐藏芯片支持与架构演进
  • 2026年 系统窗厂家/品牌推荐榜单:隔音系统窗+高端系统门窗的核心优势与选购指南 - 品牌发掘
  • NVBench:首个双语非言语发声语音合成评测基准详解与实践

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号