zoukankan
html css js c++ java
信息竞赛中常用的位运算方法
1.获得一个数二进制表示中的最后一位1所代表的数字:
用途:
多用于树状数组.
使用方法:
假设这个数为x,则这个数二进制表示中的最后一位1所代表的数字通过"
x&-x
"即可求得.
原理:
例如,x=31,则二进制表示为"0...1111",-x的二进制表示为"1...0001"。因此,x&-x的值为"0...0001".
2.以相对比较快的速度获得
的值
用途:
多用于使用倍增的算法或数据结构(如:ST表,倍增求LCA)
使用方法:
通过"
1<<x
"即可求得.
查看全文
相关阅读:
C++宏定义详解
编写Qt Designer自定义控件 MyPlugins
关于MFC共享DLL的模块状态切换 .
QT 与 MFC 的区别 .
typedef
C++ floor函数
C++ floor函数 截断浮点数小数部分 转
MFC的多国语言界面的实现 转
新工作 Day16 周五
新工作 Day15 周四
原文地址:https://www.cnblogs.com/zbsy-wwx/p/11680692.html
最新文章
CCF NOI1144 众数
CCF NOI1142 质数
CCF NOI1087 第K名
CCF NOI1136 单词分类
CCF NOI1123 A-B
CCF NOI1113 括号匹配
CCF NOI1118 序列第K小
POJ1664 放苹果
剑指Offer——跳台阶
剑指Offer——斐波那契数列
热门文章
剑指Offer——旋转数组的最小数字
剑指Offer——用两个栈实现队列
剑指Offer——重建二叉树
剑指Offer——从尾到头打印链表
剑指Offer——替换空格
剑指Offer——二维数组中的查找
SQLConnect_ref.cpp
数据库系统概论(第5版) P262 例8.12
遇见C++ Lambda(转)
深入理解C++中的mutable关键字
Copyright © 2011-2022 走看看