更人类的手写 bitset
如题,优点是可变长,且提供了 my_bitset::slice 类,支持通过 my_bitset::get_range(l, r) 切出 bitset 中的一个区间进行操作。
接口,命名感觉很清晰,应该都能看懂。
实现,需要注意的是 my_bitset::find_next(i) 函数找的是 my_bitset::find_prev(i) 同理),与 std::bitset::_Find_next(i) 不一样。
缺点是跑的很慢,测了一个 LCS 比一般的手写慢了约 1.3 倍。
没有经过充分的正确性验证,如果大家找到了 bug 欢迎评论指出。