首页 > 其他分享 >最短路问题杂谈

最短路问题杂谈

时间:2022-11-02 19:13:19浏览次数:108  
标签:暴力 短路 杂谈 牧场 问题 枚举 直径

感觉这类问题好多变形,记录一下,方便复习。


P1522 [USACO2.4] 牛的旅行 Cow Tours

由于题目的N很小,且要求任意两点之间距离,很容易想到一下暴力做法:

  1. 求出题目的联通块,记id[u]为点u的连通块编号;
  2. 枚举任意两个无序点对(j从i+1开始),连接它们,用floyd算法跑出最短路,暴力求出该牧场的直径并更新答案。

该暴力做法时间复杂度为\(O(N+M)+O(N^2 \times N^3)=O(N^5)\),显然会超时。

这时就要用最短路问题的常用套路了:不要每次都跑一次最短路,一开始跑一次,后面通过查表加推式子的方式来统计答案。
所以我们先在原图上跑一次最短路。

照样枚举点对,考虑优化新牧场的直径的变化。新牧场一定是两个旧牧场合并来的。所以新牧场直径有可能是老的两个牧场的直径,也有可能是通过新加入的这条边的一条路径。
新加入的边\((x,y)\)所在最长路径就是分别从\(x\)和\(y\)出发,在原牧场最远的距离加上\(distance(x,y)\)。

CODE

标签:暴力,短路,杂谈,牧场,问题,枚举,直径
From: https://www.cnblogs.com/zhangchenxin/p/16852053.html

相关文章

  • 矩阵论求零空间与值域问题
      基础解系的个数=矩阵的维数−矩阵的秩 子空间找子集就是找子空间的基              零空间和值域的区别,一个是求行一个是求列。......
  • v-for绑定数组item时深拷贝的问题
     changedef(index){debuggervararr=JSON.parse(JSON.stringify(store.state.gigi.extdata))arr[index].defValue=this.optionList[index].defValue......
  • vue修改对象后加属性数组,该数组变化,dom不发生变化的问题
    当vue中改变对象元素的情况下,不会重新渲染dom元素,这时候可以用vue的$set方法。一般情况下就可以实现功能了,也就是改变对象元素后,会重新渲染dom,如果当你使用挺好this.$set方......
  • 经典背包系列问题
    经典背包系列问题作者:Grey原文地址:博客园:经典背包系列问题CSDN:经典背包系列问题问题一题目描述在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,......
  • leetcode股票系列问题
    本文整合了一些大佬的文章加上自己的一些认识,供自己复习转载:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock/solutions/8753/yi-ge-fang-fa-tuan-mie-6-d......
  • 解决IIS首次启动加载慢的问题
    最近做了一个定时任务,本地,远程都测过没有问题,部署到站点上设置每天3点执行。结果第二天发现并没有执行成功。层层排查发现是定时任务的站点不在进程中,原来IIS中的站点启动......
  • saltstack服务端与客户端通信问题处理
    jenkins发布报错:ERROR:NoreturnreceivedNominionsmatchedthetarget.Nocommandwassent,nojidwasassigned.saltstack分为服务端master与客户端minion配置文......
  • UE4 Recast Navmesh 不能保存的问题
    当在主关卡修改NavMesh的属性数据后,系统能够刷新Nav导航数据,但是编辑器重启后,修改的属性不能正常保存,经过网上调查,是UE4的一个bug,貌似从4.1x版本开始就存在这个bug,到目前我......
  • java关于加密key保存乱码问题
    当我们无论使用对称加密还是非对称加密都会涉及到key,随机生成的key一般是byte[]类型,通过String进行保存的时候就会出现无法识别问题,并且读取后无法识别问题。这个时候通过......
  • 《一个最基本的问题》 回复
    《一个最基本的问题》     https://tieba.baidu.com/p/8116618216  回复8楼 @小小泡泡飘飘  ,    你设计飞机也好,  做什么也好,  你说......