C++ vector<bool>性能问题导致题目超时
原因
在现有的 C++ 规范里,vector<bool>
的实现不同于其它类型的 vector
,它在 C++ 98 就有了,而它的实现是以节省内存为目标并不是以 1 Byte 存储的,而是以 1 Bit 存储的,而过度节省内存会影响到性能。
解决
替换成 vector<char>
即可。
反之,如果内存卡的很死时间充足的话可以考虑替换。
⚠:请不要在算法竞赛中使用 vector<bool>
大概率超时。。。
标签: none