__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