第30558题 单选题
以下关于C++中状态压缩广度优先搜索(状压BFS)的描述,错误的是哪一项?

状态压缩广度优先搜索是BFS的经典扩展形式,常用来解决状态可离散编码的最短路径类问题,请判断下列描述中错误的选项。

A

状压BFS通常用整数的二进制位表示状态中每个元素的取值,比如n个节点的访问状态可以用长度为n的二进制数编码,最多支持n不超过30左右(对应int类型)的场景。

B

状压BFS的状态判重数组维度通常为「原始状态维度 + 1维的状态编码值」,比如走迷宫带钥匙的场景,判重数组可以是vis[x][y][state],state表示当前持有的钥匙状态。

C

状压BFS相比普通BFS,时间复杂度一定会更低,因为用位运算压缩了状态,存储和遍历效率都更高。

D

实现状压BFS时,常用到位运算操作,比如state | (1 << k)表示给状态添加第k位对应的属性,state & (1 << k)用于判断状态中是否包含第k位对应的属性。

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析