类BFS问题的求解(01BFS,优先队列BFS)(25.9.23)

类BFS问题的求解(01BFS,优先队列BFS)

概述

此BFS是用在带权求得最小值的搜索问题上的,通过双端队列的优化和优先队列的优化,可以大幅度降低时间复杂度

思考方向(考察可能与应对)

  1. 给定一个图,图有带权性质,搜索过程是贪心(权值越大/越小 越好),比如:染色能力,多种消耗可能

    模板:优先队列BFS板子

    模板:01BFS板子

  2. 考虑抽象题目中的“变化”,发现有东西处于“消耗”,可以假设为边权,尽量尝试将变化抽象为0 1等权值

  3. 发现题目是搜索,就考虑怎么去转化成权值增加 棋盘

  4. 特殊题目 数的构造枚举问题 分类特征+最短路 构造+BFS搜索+题意转化

杂述

发现有的坐标没法用二维数组存,可以建图直接存

好题:等红绿灯 可以使用优先队列BFS拿到部分分,然后还有一个优化就是,一个点的搜索,可以到的地方尽可能少(比如原本可以到左边n格,但是只需要传递一下剩余可到数,让它只能到左边一格就好),优化本质就是,让每个点可到地减少,避免反复重复的遍历,减少无用过程
最后此题正解是:双端队列+题意转化,想办法把当前权值转换成等了几次红灯,直接从优先队列转换为了01BFS,使用的时间更少,所以在下次遇见优先队列的BFS,先考虑有没有什么变量可以使其变为01BFS

posted @ 2025-09-23 20:48  Yuriha  阅读(2)  评论(0)    收藏  举报