
常用技巧——位运算
位运算相关,异或、lowbit等
Alex_McAvoy
想要成为渔夫的猎手
展开
-
常用技巧 —— 位运算
【概述】 在计算机中,数据都是以二进制形式存储的,因此位运算实质就是对整数在内存中的二进制位直接进行操作。 灵活使用位运算,不仅能有效的提高程序的效率,而且还能为代码提供亮点。 此外,在程序设计竞赛中,位运算,也是一种常考的要点,例如:树状数组中的 lowbit 函数的使用等,在 STL 容器中,bitset 也是一种常用的位运算工具。 关于 bitset:点击这里 【应用】 位运算基...原创 2020-02-04 18:35:01 · 612 阅读 · 0 评论 -
常用技巧 —— 位运算 —— 位运算的应用
1.lowbit:计算一个数字 x 二进制下最低位 1 对应的值 方法: int lowbit(int x){ return x&(-x); } lowbit 利用了补码的特性:正数的补码是其自身,负数的补码是正数按位取反后加一 例如:10 的补码是 1010,-10 的补码是 0110,按位相与后,即可得到 x 二进制下最低位 1 对应的值,即 lowbit(10)=2...原创 2018-08-21 09:51:51 · 817 阅读 · 0 评论 -
常用技巧 —— 位运算 —— 异或运算实现两个数的交换
【概述】 交换变量时,通常是借助一临时变量来赋值实现 void exchange(int a,int b) { int temp; temp=a; a=b; b=temp; } 当采用异或运算时,实现两变量交换无需借助第三个临时变量 void exchange(int &a, int &b) { a ^= b; b ^= ...原创 2018-07-30 15:17:39 · 1955 阅读 · 1 评论 -
常用技巧 —— 位运算 —— 异或 1 的妙处
由以下两张图可以得出一一般性规律:如果是一个偶数 ^ 1,那么结果是偶数 +1;如果是一个奇数 ^ 1,那么结果是奇数 -1转载 2018-10-29 11:26:10 · 2484 阅读 · 0 评论 -
常用技巧 —— 位运算 —— 位运算基础
【与运算】 与运算常用于二进制的取位操作,其用符号 & 表示,相同位的两个数字都为1,则为1,若有一个不为1,则为0。 例如:00101 & 11100 = 00100 其会将两个十进制数在二进制下进行与运算,然后返回其十进制下的值。 例如:3(11) & 2(10) = 2(10) 典型应用:任意一个数 &1 的结果就是取二进制的最末位,常用于判断数的奇...原创 2020-02-04 18:34:44 · 1063 阅读 · 0 评论 -
And(CF-1013B)
Problem Description There is an array with n elements a1, a2, ..., an and the number x. In one operation you can select some i (1 ≤ i ≤ n) and replace element ai with ai & x, where & denote...原创 2018-08-15 18:57:32 · 606 阅读 · 3 评论 -
合法整数集(51Nod-1315)
题目 一个整数集合S是合法的,指S的任意子集subS有Fun(SubS)!=X,其中X是一个固定整数,Fun(A)的定义如下: A为一个整数集合,设A中有n个元素,分别为a0,a1,a2,...,an-1,那么定义:Fun(A)=a0 or a1 or ... or an-1;Fun({}) = 0,即空集的函数值为0.其中,or为或操作。 现在给你一个集合Y与整数X的值,问在集合Y至少删除多...原创 2019-04-25 09:16:40 · 593 阅读 · 0 评论 -
搬货物(51Nod-1596)
题目 现在有n个货物,第i个货物的重量是 2^wi。每次搬的时候要求货物重量的总和是一个2的幂。问最少要搬几次能把所有的货物搬完。 输入 单组测试数据。 第一行有一个整数n (1≤n≤10^6),表示有几个货物。 第二行有n个整数 w1,w2,...,wn,(0≤wi≤10^6)。 输出 输出最少的运货次数。 输入样例 5 1 1 2 3 3 输出样例 2 样例解释: 1...原创 2019-04-25 18:20:10 · 474 阅读 · 0 评论 -
FT Robot(AtCoder-3726)
Problem Description A robot is put at the origin in a two-dimensional plane. Initially, the robot is facing in the positive x-axis direction. This robot will be given an instruction sequence s. s c...原创 2019-07-06 16:04:22 · 601 阅读 · 0 评论 -
Cupboards(CF-248A)
Problem Description One foggy Stockholm morning, Karlsson decided to snack on some jam in his friend Lillebror Svantenson's house. Fortunately for Karlsson, there wasn't anybody in his friend's hous...原创 2019-08-12 10:01:28 · 374 阅读 · 0 评论 -
AND Minimum Spanning Tree(HDU-6614)
Problem Description You are given a complete graph with N vertices, numbered from 1 to N. The weight of the edge between vertex x and vertex y (1<=x, y<=N, x!=y) is simply the bitwise AND of ...原创 2019-10-07 14:07:37 · 221 阅读 · 0 评论