关于bitset

灌水区

ningago @ 2022-03-03 21:47:24

看到有dalao用bitset <N> vis代替bool vis[N],是有一些常数优化吗?


by Krystallos @ 2022-03-03 21:50:42

如果不使用bitset提供的一些特殊操作这样写反而是负优化


by ningago @ 2022-03-03 21:52:51

@Krystallos

在线性筛里用的,与bool数组没有区别


by Acc_Robin @ 2022-03-03 21:52:55

@Krystallos qs


by Acc_Robin @ 2022-03-03 21:53:20

@ningago 这样写寻址反而没有普通数组快。


by Krystallos @ 2022-03-03 21:53:50

@ningago 纯当bool数组用会带来时间负优化,空间正优化


by ningago @ 2022-03-03 21:55:17

@Krystallos @Acc_Robin 明白了,蟹蟹daolao


by rxjdasiwzl @ 2022-03-03 23:13:15

@Acc_Robin 你可以用 std::bitset 写一个埃氏筛,再用 bool 数组写一个埃氏筛,然后比一下


by rxjdasiwzl @ 2022-03-03 23:18:34

很有趣的事情是在欧拉筛的时候 bool 数组比 std::bitset 快而埃氏筛的时候 std::bitset 更快


by meyi @ 2022-03-04 07:22:35

@ningago 前面的回答过于片面,建议参考 https://oi-wiki.org/lang/csl/bitset/#_11


by peterwuyihong @ 2022-03-04 10:17:44

不吧,我感觉挺快的

而且空间也小了


|