竞赛常用STL备忘录
__builtin:
__builtin_popcount:二进制中 1 的个数
__builtin_ctz:末尾的 0,即对 lowbit 取log
__builtin_clz:开头的 0,用 31 减可以得到下取整的 log
复杂度O(1)
如果是 long long,函数名末尾加 ll,31 改成 63。
random_shuffle
next_permutation
__builtin:
__builtin_popcount:二进制中 1 的个数
__builtin_ctz:末尾的 0,即对 lowbit 取log
__builtin_clz:开头的 0,用 31 减可以得到下取整的 log
复杂度O(1)
如果是 long long,函数名末尾加 ll,31 改成 63。
random_shuffle
next_permutation