0-1 BFS
前言:做这道题发现dij过不了,意识到自己不会0-1 BFS,遂查,发现网上的解释很多都不清楚,oi wiki 好像没讲,自己证明了一下。
算法过程:
用于求边权为
为什么是对的:
根据 dij 的正确性证明,只需证 deque 内的点的
下证明 deque 内的数的
- 初始时,deque 内的数的
为 ,符合要求 - 每次拓展时取链头
, 故当更新到边权为 的 ,放在队头,满足性质,否则 ,放在队尾,仍满足性质。
综上,命题成立
复杂度:
类似 dij,每一个点都仅会被用来拓展一次,故每一条边也仅会被用来拓展一次。而每一次入队操作都只能由一条边造成,故复杂度为
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】