acwing算法基础之基础算法--位运算算法

目录

  • 1 知识点
  • 2 模板

1 知识点

(一)
n的二进制表示中第k位是0还是1,注意k从0开始编号。

  1. 先把第k位移动到最后一位,即n >> k
  2. 看个位是几,即x & 1

综合上述,即n >> k & 1

(二)
lowbit(x)操作,返回x的最后一位1是多少。比如 x = ( 101000 ) 2 ,则 l o w b i t ( x ) = ( 1000 ) 2 x=(101000)_2,则lowbit(x)=(1000)_2 x=(101000)2,则lowbit(x)=(1000)2
公式为lowbit(x) = x & -x
解释如下。-x在C++中的二进制的表示为取反加1,即~x+1
应用:求数x的二进制表示中1的个数。

//输入x
//返回res,表示x的二进制表示中1的个数
int lowbit(int x) {return x & -x;
}
int res = 0;
while (x) {x -= lowbit(x);res += 1;
}

(三)
C++中的原码,反码(原码取反),补码(原码取反加1)。
C++中的负数用补码来表示。

2 模板

//求x的二进制表示中第k位是多少,注意k从0开始编号
x >> k & 1
//求x的二进制表示中有多少个1
int lowbit(int x) {//x的二进制表示中最低位的1是多少return x & -x;
}
int res = 0;
while (x) {x -= lowbit(x);res += 1;
}
//res就是最终的答案

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/103133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

01 初识FPGA

01 初识FPGA 一.FPGA是什么 FPGA(Filed Programmable Gate Array),现场可编程门阵列,一种以数字电路为主的集成芯片,属于可编程逻辑器件PLD的一种。 1.1 两大巨头 Xilinx(赛灵思)Altera(阿尔特拉&#…

VPN基础

1.VPN简介 VPN即虚拟专用网,泛指通过VPN技术在公用网络上构建的虚拟专用网络。VPN用户在此虚拟网络中传输私网流量,在不改变网络现状的情况下实现安全、可靠的连接。 专用:VPN网络是专门供VPN用户使用的网络,对于VPN用户&#xf…

geecg-uniapp 同源策略 数据请求 获取后台数据 进行页面渲染 ui库安装 冲突解决(3)

一,同源策略 (1)首先找到env 要是没有env 需要创建一个替换成后端接口 (2)因为他封装了 先找到 http 请求位置一级一级找 然后进行接口修改 (3)appUpdata 修改接口 运行即可 &#x…

【postgresql】

看到group by 1,2 和 order by 1, 2。看不懂,google,搜到了Stack Overflow 上有回答 What does SQL clause “GROUP BY 1” mean? 大概意思就是,group by, order by 后面跟数字,指的是 selec…

dockerfile 搭建lnmp+wordpress,docker-compose搭建lnmp+wordpress

目录 dockerfile 搭建lnmpwordpress 部署nginx(容器IP 为 172.18.0.10) 部署mysql(容器IP 为 172.18.0.20) 部署php(容器IP 为 172.18.0.30) docker-compose搭建lnmpwordpress dockerfile 搭建lnmpword…

STM32单片机采用环形缓冲区实现串口中断数据接收管理

一、前言 在嵌入式系统开发中,与上位机进行串口通信是非常常见的场景。上位机可以通过串口发送指令或者数据给嵌入式设备,而嵌入式设备需要可靠地接收并解析这些数据,以执行相应的操作。然而,在串口通信过程中,上位机…

c++的小指针

1,关于QByteArray的代码,以下说法正确的是? QByteArray bytes; bytes[0] 1; bytes[1] 2; bytes[2] 3; bytes[3] 4; A:编译通过,运行正常。 B:编译通过,运行时QT抛出异常导致程序退出…

Error: error:0308010C:digital envelope routines::unsupported

这个错误通常发生在使用 Node.js 中的 TLS/SSL 模块时。它表示在尝试建立 TLS 连接时,无法识别或不支持远程服务器所使用的加密协议。 可能的原因包括以下几点: 远程服务器使用了不安全的加密算法或协议,而最新版本的 OpenSSL 已经将其移除…

如何实现前端路由保护?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

OpenCV实现图像傅里叶变换

傅里叶变换 dftcv.dft(img_float32,flagscv.DFT_COMPLEX_OUTPUT): flags:标志位,指定变换类型,cv.DFT_COMPLEX_OUTPUT会返回复数结果。 傅立叶变换,将输入的图像从空间域转换到频率域。 返回结果: 此函数返回一个复杂数值数组&#xff0c…

flutter 网络图片封装

可自定义加载时占位图片和加载失败时展示的图片 class ImageBuildView extends StatelessWidget {String? url;double radius;double? width;double? height;String placeholder;ImageBuildView({super.key,this.url,this.width,this.height,this.radius 50,this.placehol…

IOS 快速获取加密方法,加密数据

引言逆向过程中,被一个加密算法或者一段代码折磨。安卓没有办法,只能找IOS。 首先要看下,越狱检测能不能过,不过,然后看下几个屏蔽越狱的插件能不能行,如果可以,就可以走这条路。 实战先来这一段frida hook 代码: if (ObjC.available) {Interceptor.attach(Module.find…

初学者必看,前端 Debugger 调试学习

1.文章简介: 报错和Bug,是贯穿程序员整个编程生涯中,无法回避的问题。而调试,就是帮助程序员定位问题、解决问题的重要手段,因此调试是每个程序员必备技能。 调试本身可分为两个过程: 定位问题 和 解决问题&#xff0…

【开发心得】Java xsd文件转JavaBean

前言 最近又要对接友商老的系统,依然采用http xml方式的请求,客方提供了xsd,这里提供windows平台两种转换xsd文件为javaBean的方式。 方法一 : xjc 命令参考: "C:\Program Files\Java\jdk1.8.0_331\bin\xjc.exe" test.xsd -p com.test.im…

4Spring及Spring系列-基本

8、Spring/Spring MVC Spring常见面试题55道(附答案2023最新版)_spring面试题-CSDN博客Spring是一个开源的Java企业级开发框架,由Rod Johnson于2003年创建。它提供了一套全面的编程和配置模型,用于构建现代化的基于Java的企业应用…

基于 SpringBoot+Hikvision SDK 远程查看配置海康网络摄像头配置

写在前面 工作中遇到,简单整理理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大…

多输入多输出 | MATLAB实现CNN-BiGRU-Attention卷积神经网络-双向门控循环单元结合SE注意力机制的多输入多输出预测

多输入多输出 | MATLAB实现CNN-BiGRU-Attention卷积神经网络-双向门控循环单元结合SE注意力机制的多输入多输出预测 目录 多输入多输出 | MATLAB实现CNN-BiGRU-Attention卷积神经网络-双向门控循环单元结合SE注意力机制的多输入多输出预测预测效果基本介绍程序设计往期精彩参考…

HarmonyOS学习 -- ArkTS开发语言入门

文章目录 一、编程语言介绍二、TypeScript基础类型1. 布尔值2. 数字3. 字符串4. 数组5. 元组6. 枚举7. unknown8. void9. null 和 undefined10. 联合类型 三、TypeScript基础知识条件语句if语句switch语句 函数定义有名函数和匿名函数可选参数剩余参数箭头函数 类1. 类的定义2.…

低压配电系统中浪涌保护器的作用,安装位置和接线方法

低压配电系统是指在变压器低压侧或用户侧的电气装置,主要用于向用户提供安全、可靠和经济的电能。低压配电系统中常见的电气设备有低压配电柜、分支箱、开关箱、插座、照明等。这些设备都需要防止因外部或内部原因产生的过电压对其造成损坏或影响其正常工作。过电压…

竞赛选题 深度学习+opencv+python实现昆虫识别 -图像识别 昆虫识别

文章目录 0 前言1 课题背景2 具体实现3 数据收集和处理3 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数:2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 4 MobileNetV2网络5 损失函数softmax 交叉熵5.1 softmax函数5.2 交叉熵损失函数 6 优化器SGD7 学…