竞赛常用STL备忘录

本文介绍了C++中__builtin系列函数的使用,包括计算二进制中1的个数、获取最低位非零位的指数以及计算前导零的数量,这些函数在位操作中非常高效。此外,还提到了random_shuffle和next_permutation算法的应用,对于理解C++标准库中的高效算法很有帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

__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

 

转载于:https://www.cnblogs.com/nervendnig/p/9393833.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值