会员
周边
捐助
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Object_S
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
|
管理
信息竞赛中常用的位运算方法
1.获得一个数二进制表示中的最后一位1所代表的数字:
用途:
多用于树状数组.
使用方法:
假设这个数为x,则这个数二进制表示中的最后一位1所代表的数字通过"
x&-x
"即可求得.
原理:
例如,x=31,则二进制表示为"0...1111",-x的二进制表示为"1...0001"。因此,x&-x的值为"0...0001".
2.以相对比较快的速度获得
的值
用途:
多用于使用倍增的算法或数据结构(如:ST表,倍增求LCA)
使用方法:
通过"
1<<x
"即可求得.
发表于
2018-11-25 21:27
Object_S
阅读(
124
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部