首页 > 其他分享 > OJ周赛三场——异或和

OJ周赛三场——异或和

时间:2022-12-05 17:33:28浏览次数:36  
标签:周赛 xor OJ int 异或 给定 return

异或和  

问题描述

给定多个测试数据。给定一对l,r。请你求出l,l+1....r的异或和

(异或的运算为两个数在二进制意义下,对于每一位,若相等则为0,否则为1,例如3 xor 4,即 二进制 11 xor 100 = 111 ,结果为5)

 

输入 

给定一个整数T(1≤T≤10)

接下来T行,每行给定两个整数l,r。(1≤l≤r≤10^9)

输出

输出T行,每行表示l到r的异或和。

 

输入例子 1 

1
3 5
1 4

输出例子 1

2
4

提示

第一个样例 3 xor 4 xor 5 = 2 

1 xor 2 xor 3 xor 4 = 4


我们令S(x)为0到x的异或和。那么根据异或的性质题目转换成S(r) xor S(l-1)

一个很明显的规律,即相邻的一对偶数和奇数2x和2x+1,观察发现除了最低位不同之外其他都相同,所以异或为1,那么这样的两对4个数异或为0,表现为

(0xor1xor2xor3=0) ,(4xor5xor6xor7=0)..

那么就是一个周期性的变化。所以可以直接求S(x)

这题原来想着少点数据让java和python快点 ,并且也在测试的时候卡掉了暴力,可能评测机波动导致导致暴力也能过QAQ

 

#include<bits/stdc++.h>
using namespace std;

int xorsum(int x){
	if ((x+4)%4==3) return 0;
	 else return xorsum(x-1)^x;
}

void  solve(){
	int l,r;
	cin>>l>>r;
	cout<< (xorsum(r)^xorsum(l-1))<<'\n';
}

int main(){
	int T;cin>>T;
	while(T--) solve();
}

  

标签:周赛,xor,OJ,int,异或,给定,return
From: https://www.cnblogs.com/hihopkc/p/16952945.html

相关文章

  • 第322场周赛第一题
    句子是由单个空格分隔的一组单词,且不含前导或尾随空格。例如,"HelloWorld"、"HELLO"、"helloworldhelloworld"都是符合要求的句子。单词仅由大写和小写英文字母组......
  • Visual Studio 2005 Web Application Projects 正式推出
    VisualStudio2005WebApplicationProjects正式推出拉,下载地址在​​​http://msdn.microsoft.com/asp.net/reference/infrastructure/wap/defau......
  • videojs常用功能简介
    videojs常用功能简介 崔 框架和插件前端JavaScript    video.js是一款基于HTML5的网络视频播放器。它支持HTML5和Flash视频,以及YouTube和Vimeo(通过插件)。......
  • js插件---videojs的使用
    js插件---videojs的使用一、总结一句话总结:网上有各种细致的现成的代码可以拿来用,没必要自己死专1、video.js有两种初始化方式?一种是在video的html标签之中一种是使......
  • 扒源码系列:GPT / GPT-2 中 proj 的作用
    事情是这样的。前两天翻译了一篇文章图解GPT-2。在翻译的过程中为了防止自己出错,所以参考了一下其他人对于GPT的一些理解,然后就出错了,为了解决这个错误,导致我最后重新扒了一......
  • WebGIS|GeoJSON简介
    简介GeoJSON是用JSON的语法表达和存储地理数据,可以说是JSON的子集。图片数据参考:http://geojson.ioGeoJSON对象GeoJSON总是由一个单独的对象组成。GeoJSON对......
  • 2022年12月最新出炉的实时区县乡镇街道geojson数据Echarts地图数据乡村联动数据下载
    发现个可以免费下载全国geojson数据的网站,推荐一下。支持全国、省级、市级、区/县级、街道/乡镇级以及乡村六级的联动数据geojson数据下载地址:https://geojson.hxkj.vi......
  • acwing第80场周赛
    比赛地址核心思路:这是一眼暴力搜索题,但是我们怎么取构造他们的参数呢。首先我们肯定需要4和7的个数,所以这两个参数是肯定需要的,还有就是我们需要他们两个个数加起来不能够......
  • pwn | jarvisoj_tell_me_something
    pwn|jarvisoj_tell_me_somethingx64栈溢出ret2text存在后门直接溢出跳过去就行了。唯一有点区别的就是这里面没有pushebp和popebp,所以只需要覆盖0x88就行了exp......
  • SPOJ GCDMAT - GCD OF MATRIX
    简要题意给出三个整数\(T,n,m\),\(T\)组询问,每组询问给出四个整数\(i_1,j_1,i_2,j_2\)(数据保证\(i_1,j_1\leqn\\i_2,j_2\leqm\)),计算:\[\sum_{i=i_1}^{i_2}\sum_{j=......