C++ vector<bool>性能问题导致题目超时
发布时间
2024-10-06 17:14:00
更新时间
2024-10-06 17:14:00
标签
Algo

C++ vector<bool>性能问题导致题目超时

原因

在现有的 C++ 规范里,vector<bool> 的实现不同于其它类型的 vector,它在 C++ 98 就有了,而它的实现是以节省内存为目标并不是以 1 Byte 存储的,而是以 1 Bit 存储的,而过度节省内存会影响到性能。

解决

替换成 vector<char> 即可。 反之,如果内存卡的很死时间充足的话可以考虑替换。

⚠:请不要在算法竞赛中使用 vector<bool> 大概率超时。。。