首页 > 其他分享 >浅谈一类最短路问题

浅谈一类最短路问题

时间:2024-10-17 16:44:43浏览次数:1  
标签:浅谈 删除 短路 更新 枚举 一类 树上

P2685 [TJOI2012] 桥

首先求出一个最短路树,显然只能删除树上的边才对答案有影响。

最短路树有很多,任意求一个可以吗?可以,因为删除一条边后就可以走另一个最短路树了。

枚举删除哪一条边并不好计算。考虑最后我们最短路一定是 \(1\to l_x\to x\to y\to r_y\to n\) 的样子,所以我们考虑枚举不在最短路树上的边 \((x,y)\),找到最短路树上对应的 \((l_x,r_x)\),更新答案。

最后查询单点最小值即可。

如何预处理 \(l,r\) 数组?按照一定的顺序加入最短路中的每个点,每次都 bfs 更新所有点即可,由于每个点只会更新一次,故复杂度均摊线性。


[ABC375G] Road Blocked 2

建出最短路图。

一种方法是对最短路方案计算,考虑一条边是否有 \(c1_x\times c2_y = c(1,n)\),由于需要取模估计需要调参。

另外一种方法就是判断最短路图上这条边是否为割边。

标签:浅谈,删除,短路,更新,枚举,一类,树上
From: https://www.cnblogs.com/LCat90/p/18472626

相关文章

  • 浅谈flex布局
    flex布局1.flex布局如何生效如图所示,在一个父盒子中有三个子盒子.代码如下:<divclass="bigbox"><span>1</span><span>2</span><span>3</span></div>大家看到这里不禁会有个疑问:为什么sp......
  • 最小生成树&最短路杂题
    contestlinkA与cheaprobot是一个题,就是跑多元最短路之后\(dis_u+dis_v+w(u,v)\)赋权跑Kruskal重构树即可B注意到是网格图,那么\(u,v\)不连通也就是以其为源点/汇点存在一个割。转对偶图之后也就是判环,那么在删除\((u,v)\)之前对偶图里其对应点已经连通就NIE,否则TAK......
  • 平面图最短路与对偶图网络流
    一个相当厉害的东西啊。参考原件:IOI2008国家集训队论文——周冬。图片引自OI-wiki平面图llmmkk’sblog论文原件先给出结论:平面图最小割等于其对偶图最短路平面图平面图,指可以通过画图方式将使得边两两不相交的图。(无向图)例如:事实上是:一些概念:设\(G\)......
  • 最短路
    dijkstra更好的理解主要思想:每次确定一个点的最短距离我们将图分为2块,一块为最短距离确定的点集,一块为没有确定最短距离的点集,通过前者向后者拓展,来求得答案我们将所有已经有dis数值的点加入堆,然后每次dis数值最小的它的dis值就是最终的dis距离,所以可以将其加入到距离确定点集......
  • 浅谈 K-D Tree 及其进阶应用
    前言\(\text{K-DTree(K-DimensionTree)}\)是一种可以有效处理高维信息的数据结构。在一般信息学竞赛题目中\(k=2\),此时它又称\(\text{2-DTree}\)。但遗憾的是,\(k\ge3\)的情况并不常见,这个我们后面再说明原因。算法描述问题首先从简单的情况考虑起,假设信息只有一......
  • 浅谈Java之UDP通信
    一、基本介绍        Java提供了用于处理UDP(用户数据报协议)的类和方法。UDP是一种无连接的网络协议,它允许发送端和接收端之间无需建立连接即可发送数据。在Java中,你可以使用java.net包中的DatagramSocket和DatagramPacket类来实现UDP通信。二、简单用法以下是使用......
  • 18732 最短路问题
    ###思路1.**建模问题**:将车站和公交线路建模为图,其中车站是节点,公交线路是带权边。2.**选择算法**:使用Dijkstra算法求解从车站1到车站n的最短路径问题。3.**初始化**:创建一个优先队列(最小堆)来存储当前节点和到达该节点的最小花费。初始化所有节点的最小花费为无穷大,起......
  • NOI提高级 图论算法:单源次短路
    DIJ(单源次短路)-TwoPaths-HDU6181DIJ(单源次短路)-TwoPaths-HDU6181-CSDN博客单源次短路(P2829大逃离)单源次短路(P2829大逃离)-CSDN博客单源次短路算法学习笔记单源次短路算法学习笔记-Wiueh_Plus-博客园次短路及次短路计数次短路及次短路......
  • 浅谈js中的部分方法
    hello!大家好,我是一名正在乱学前端技术的大学生,欢迎大家关注我,一起探讨前端技术,如有讲错的地方麻烦提出指正。letstr1="hello"//注:头尾有一个空格console.log(str1.charAt(1))//h,charAt返回字符串下标字符console.log(str1.replace('el','a'))//halo,rep......
  • P4779 【模板】单源最短路径(标准版)
    堆优化版:通过定义一个最小堆来实现普通版本中的查找操作点击查看代码#include<iostream>#include<stack>#include<cmath>#include<algorithm>#include<set>#include<vector>#include<climits>#include<string.h>#include<map>#in......