首页 > 其他分享 >0-1 bfs

0-1 bfs

时间:2023-10-12 17:45:35浏览次数:26  
标签:队尾 队列 队首 bfs Dijkstra 权值

问题引入

对于边权为 0/1 的图 \(G=(V,E)\),求解其最短路。(注意这里的 1 并不一定就是 1,只是反映有无权值)

ps. 一下称该类图为 0-1 图


求解

一般图一般有 Dijkstra 和 SPFA。

但对于 0-1 图这样特殊的图,\(O(m\log m)\) 的 Dijkstra 就显的冗余了。

问题主要在于,每次 dis 的更新波动很小,用 优先队列 维护的 Dijkstra 就大材小用了。

考虑直接用 双端队列 代替 优先队列。

具体地,把没有权值的边扩展到的点放到队首,有权值的边扩展到的点放到队尾。

这样即可保证像普通 bfs 一样整个队列队首到队尾权值单调不下降。

时间复杂度

\(O(n+m)\)。

标签:队尾,队列,队首,bfs,Dijkstra,权值
From: https://www.cnblogs.com/cqbz-dxm/p/17760131.html

相关文章

  • [USACO08FEB]meteor Shower S题解(bfs)
    题目描述贝茜听说一场特别的流星雨即将到来:这些流星会撞向地球,并摧毁它们所撞击的任何东西。她为自己的安全感到焦虑,发誓要找到一个安全的地方(一个永远不会被流星摧毁的地方)。如果将牧场放入一个直角坐标系中,贝茜现在的位置是原点,并且,贝茜不能踏上一块被流星砸过的土地。根据预......
  • JAVA图搜索算法之DFS-BFS
    图算法DFS与BFSBFS和DFS代表对图进行遍历,即搜索的算法,搜索算法中常用的只要有两种算法:深度优先遍历(Depth-First-Search:DFS)和广度优先遍历(Breadth-First-Search:BFS)。一个图结构可以用来表示大量现实生活中的问题,比如,道路网络,计算机网络,社交网络,用户身份解析图①DFS......
  • DFS 与 BFS
    简介状态:解决问题所关注的属性的集合。转移:状态之间的变化过程。搜索:处理状态转移、寻找新状态、枚举(遍历)所有状态的一种算法思想。搜索树:状态和有效转移形成的树形结构,每个状态只会被扩展一次。深度优先搜索全称为Depth-FirstSearch,简称DFS、深搜。这个算法一般采用......
  • CH32V203的USBFS在主机和设备下的低功耗唤醒注意事项
    1.如果使用WFE睡眠,醒来后无需重新打开外设时钟;2.如果使用STOP模式睡眠,醒来后需要重新打开外设时钟。 USBFS_RCC_Init();3.STANDBY需要进入之前设置成IO(PB6.PB7)为外部事件,醒来之后设备复位(待机模式唤醒后复位),重新枚举USB。具体配置如下:voidSleep_WakeUp_Deal(){EXTI_Init......
  • bfs (9/26)
    bfs可用于权值相同为1的时候求最短路问题#include<iostream>#include<algorithm>#include<cstring>#include<queue>usingnamespacestd;constintN=110;typedefpair<int,int>PII;queue<PII>q;inta[N][N],f[N][N];intn,m;intbfs()......
  • 0-1 BFS
    前言:做这道题发现dij过不了,意识到自己不会0-1BFS,遂查,发现网上的解释很多都不清楚,oiwiki好像没讲,自己证明了一下。算法过程:用于求边权为\(0\)或\(1\)的图的最短路。方法就是把dij的单调队列换成一个deque,每次更新如果用边权为\(0\)的边,把新的点放到队首,反之放到队尾,......
  • 八皇后(bfs)旧题新做
    题意题目链接:https://www.luogu.com.cn/problem/P1219?contestId=130784题意就是给一个NxN的矩阵,然后放N个皇后,问可以怎么放,有多少种放法。思路dfs。需要三个数组,col[i]用来存第i列是否放置了皇后,dg[i]用来存对角线i是否放置了皇后,udg[i]用来存反对角线......
  • POJ 2935 Basic Wall Maze BFS
    注意墙的处理,我是这么做的,把每个方块不能行走的方向标记出来,剩他的就是传统BFS了。#include<stdio.h>#include<queue>usingnamespacestd;intsx,sy,ex,ey;inth[4]={1,-1,0,0};intg[4]={0,0,1,-1};intdir[8][8][5];boolvisit[7][7];structpoint{ intx; inty; in......
  • RBFS简单理解
    论文引用Sharma,DishaandSanjayKumarDubey.“ComparativeStudyofRBFS&ARBFSAlgorithm.”IOSRJournalofComputerEngineering10(2013):105-110.前言论文中的伪代码可能有错误贴一份写的比较清楚点的帖子算法思路在h函数保证一致性的情况下,第一次扩展到n时......
  • 2013_q2bfsm
    moduletop_module(inputclk,inputresetn,//active-lowsynchronousresetinputx,inputy,outputf,outputg);parameterA=0,B=1,C=2,D=3,E=4,F=5,G=6,H=7,ON=14,OFF=15;reg[3:0]state,nst......