【51nod P3047】位移运算【位运算】
分析:
如果 a a a可以变成 b b b 那么去掉前导后缀 0 0 0的 b ′ b' b′ 一定是 a a a的子串
判断子串
- 对 a a a进行 > > >> >>得到 a ′ a' a′ 若 a ′ & b ′ = b ′ a'\&b'=b' a′&b′=b′ 说明 b ′ b' b′为 1 1 1的位在 a ′ a' a′也是 1 1 1
- 看 a ′ x o r b ′ a'xor~b' a′xor b′得到的 c c c 若 c c c最低位的 1 1 1比 b ′ b' b′最高位的 1 1 1高 b ′ b' b′才为 a ′ a' a′的子串
CODE:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#define reg register
using namespace std;
typedef long long ll;
int T;
int lowbit(int x){return x&(-x);}
bool check(int a,int b)
{while(b&&(b&1)==0) b>>=1;while(a){if((a&b)==b){int qwq=lowbit(a^b);if((a^b)==0||qwq>b)return 1;}a>>=1;}return 0;
}
int main(){scanf("%d",&T);while(T--){int a,b;scanf("%d%d",&a,&b);check(a,b)?puts("Yes"):puts("No"); }return 0;
}
【51nod P3047】位移运算【位运算】相关推荐
- 常用技巧 —— 位运算 —— 位运算基础
[与运算] 与运算常用于二进制的取位操作,其用符号 & 表示,相同位的两个数字都为1,则为1,若有一个不为1,则为0. 例如:00101 & 11100 = 00100 其会将两个十进 ...
- Home_W的位运算(位运算+预处理)
Home_W的位运算1 题目链接: 传送门解题思路:这题有两种解题思路,一种就是\(n^2\times m\)的时间复杂度,还有一种就是经过预处理的时间复杂度为\(n^2\)的方法,先说第一种,大家直 ...
- linux寄存器位运算,位运算的一些操作
最近在做一些嵌入式软件相关的工作,经常涉及到对于FPGA寄存器的相关操作.而对于寄存器的操作,软件这边通常是把数据进行组装为一个固定位宽(8bit, 16bit)的数通过localbus总线写到寄存器 ...
- 位运算 - 位运算基本操作
package com.bitOperation;/*** java的整数是有符号的,二进制表示的时候,第一位是符号位* 其范围是 -2^31 ~ 2^31-1** Java的设计,负数在内存中存储的 ...
- 位运算 位运算应用
本页目录 位运算分为2个大类 位于 &(一0则0) 位或| (双0则0) 异或 ^(互异则1) 利用异或可实现一个小面试题,如何不添加变量,实现数据的替换 按位取反 ~ 左移 << ...
- 汇编指令 栈现场保护 算数运算 位运算 比较指令 跳转指令 循环指令 寻址方式
文章目录 1 nop 指令 2 现场保护指令 2.1 push 与 pop 2.2 pushad 与 popad 2.3 pushfd 与 popfd 3 内存操作 3.1 mov指令 3.2 mov ...
- 常用技巧 —— 位运算 —— 位运算的应用
1.lowbit:计算一个数字 x 二进制下最低位 1 对应的值 方法: int lowbit(int x){return x&(-x); } lowbit 利用了补码的特性:正数的补码是其自 ...
- java 减法 位运算,位运算-实现加减乘除
基本性质:1:~n=-(n+1),比如:~3=-4 2:获取整数n的二进制串中最后一个1:-n&n=~(n-1)&n 3:去掉整数n的二进制串中最后一个1:n&(n-1) 加法 ...
- 算法笔记(一)位运算、二分、基本递归、排序、基本数据结构
文章目录 位运算 原码.补码与反码 左移右移`<<` & `>>` 无符号右移 异或运算`^` 位运算常用技巧 取相反数 反转0-1 判断负数与非负数 数组交换两元素位 ...
- python左移右移位运算_荐Python : 位运算 —— 与、或、异或、左移、右移
Python : 位运算 -- 与.或.异或.左移.右移 位运算 位运算是把数字用 二进制 表示之后,对每一位上 0 或者 1 的运算.位运算共有 5 种运算:与.或.异或.左移.右移. 与.或.异或 ...
最新文章
- 設備(IE01/IE02/IE03)客製欄位及BAPI處理
- 再见 Win10系统!下一代操作系统要来了!!
- python函数的封装调用_Python封装一个函数来打印到变量
- JavaScript 函数replace揭秘
- 非极大值抑制(non-maximum suppression)的理解与实现
- 笑话一则(小狗的故事)
- 小程序源码:多功能图片处理器-多玩法安装简单
- 嗯,手搓一个TinyPng压缩图片的WebpackPlugin也SoEasy啦
- SolidWorks2010
- 雪球: 关于股票的经典书籍有哪些推荐
- 数学文章 关于圆锥体积公式的证明
- 各种单片机芯片封装形式
- [转] 一篇不错的Perl-LWP文档
- Help Hanzo(区间素数筛)
- thinkphp3.2 数据库 AND OR连缀使用
- 比较强大的破解软件网站
- 计算机应用700字自我鉴定,有关计算机应用自我鉴定
- trs java_trs常见问题 - This Is A FineDay - BlogJava
- 面向对象_大纲 by霹雳火毕老师
- C++ 并发指南 std::lock
热门文章
- 偏置电路一般采用电流通路,而不采用电压通路
- 【已验证成功】【DIY小项目】基于CY7C68013A的逻辑分析仪
- OpenStack ussuri 私有云平台搭建
- python3.7游戏_python3.7自动点击脚本点击游戏窗口内游戏道具不生效
- 【学习笔记】zabix监控项概念
- 中英文说明书丨艾美捷MAPT单克隆抗体
- Satis搭建composer私有库(自定义下载目录)
- 你所不知道的AWS 云服务清单(71种)
- 基于springboot+bootstrap+thymeleaf的物联网一站式宠物管理平台(领养、救助、商城)设计 毕业论文+用户手册+源码清单+项目源码及数据库文件
- 80MHz~100MHz频谱分析仪设计