首页 > 其他分享 >[Codeforces] CF1722G Even-Odd XOR

[Codeforces] CF1722G Even-Odd XOR

时间:2023-12-15 18:56:28浏览次数:30  
标签:Even ... XOR int CF1722G 异或 oplus

CF1722G Even-Odd XOR

题意

给定一个正整数 \(n\),请你找出一个长度为 \(n\) 数组 \(a\),满足数组是由互不相同的非负且小于 \(2^{31}\) 的整数组成,并且该数组中奇数项上元素的异或值与偶数项上元素的异或值要相等。

思路

根据异或的交换律,可以发现:奇偶位异或值相等,那么全局异或值位0,如下:

\((a_1\oplus a_3 \oplus ... a_{2k+1})\oplus(a_2\oplus a_4\oplus ... a_{2k})=0\)

根据的就是\(a\oplus a=0\)

所以,假如已知\(1,2,...,n-1\),那么\(n\)就一定能被求出来,使得全局异或为\(0\)

但是这种情况下很容易出现重复,所以可以这么构造:\(1,2,...,n-3,2^{23},2^{24}\),最后一个数就是前面所有数的异或值,这样全局异或还是\(0\)

代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,num;
void run()
{
	cin>>n;num=0;
	for(int i=1;i<=n-3;i++)
	{
		cout<<i<<" ";
		num^=i;
	}
	cout<<(1<<23)<<" "<<(1<<24)<<" "<<(num^(1<<23)^(1<<24))<<endl;
}
signed main()
{
	int t;
	cin>>t;
	while(t--) run(); 
}

标签:Even,...,XOR,int,CF1722G,异或,oplus
From: https://www.cnblogs.com/lyk2010/p/17904023.html

相关文章

  • 《Java编程思想第四版》学习笔记47--关于handleEvent
    (4)增加可以被handleEvent()方法测试事件的组件到练习3中。过载handleEvent()并在文字字段中为每个组件显示特定的消息。                                                ......
  • netty源码:(1)NioEventLoopGroup
    EventLoopGroupbossGroup=newNioEventLoopGroup();不加参数创建NioEventLoopGroup的话,会使用cpu核数*2作为bossGroup的线程数。......
  • JS(JavaScript)-事件-Event事件
     1.介绍:事件就是可以被JS侦测到的行为。用户操作鼠标或键盘后,触发了JS事件,然后产生相应机制。 三要素:事件源:事件被触发的对象,就是谁触发了这个事件;事件类型:如何触发,什么事件;比如:鼠标点击,键盘按下事件处理程序:通过一个函......
  • CodeForces 1902F Trees and XOR Queries Again
    洛谷传送门CF传送门如果我们能把\(x\toy\)路径上的所有点权插入到线性基,那么可以\(O(\logV)\)查询。但是因为线性基合并只能\(O(\log^2V)\)(把一个线性基的所有元素插入到另一个),所以只能倍增做\(O((n+q)\logn\log^2V)\),过不了。考虑\(O(n\logV)\)预处理出......
  • 前端歌谣-第四拾捌课-node之http模块之event模块
    前言我是歌谣微信公众号关注前端小歌谣一起学习前端知识今天继续给大家讲解node中event的讲解案例constEventEmitter=require("events")constevent=newEventEmitter()event.on("play",()=>{console.log("事件触发了")})event.emit("play")运行结果案例1varhttp=r......
  • 7. 2023-11-20 12:29:32,542 [tornado.general :456 ][WARNING ][3052] Got events f
     这个警告表明Tornado检测到了有事件(events)被发送到一个已经关闭的流(stream)。在Tornado中,一个流代表一个请求或响应的数据流。这个警告可能意味着在请求处理的过程中,尝试向已经关闭的流发送了事件。可能的原因和解决方法:异步操作处理不当:在Tornado中,当你处理异步请求时,需......
  • uniapp滑动页面时警告Unable to preventDefault inside passive event listener due t
    翻译:没有添加被动事件监听器来阻止’touchstart‘事件,请考虑添加事件管理者’passive’,以使页面更加流畅。原因:由于浏览器必须要在执行事件处理函数之后,才能知道有没有掉用过 preventDefault(),这就导致了浏览器不能及时响应滚动,略有延迟。所以为了让页面滚动的效果如丝般顺滑......
  • 【题解】CodeForces 1902F Trees and XOR Queries Again
    传送门:https://codeforces.com/contest/1902/problem/F数据结构题,这里讲两种思路。$ST$表思路:判定“从若干个数中能否取出其中一些,使得异或和为$x$”的问题,第一时间想到线性基,本题要做的显然就是快速求出询问路径上所有数的线性基。两组数的线性基可以合并,方法为“暴力将......
  • F. Trees and XOR Queries Again
    首先容易想到lca+线性基,\(O(nlognB^2+qlognB^2)\),显然T飞了。#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<map>#include<vector>#include<set>#include<iostream>#include<queue>#i......
  • vue3引入mitt(eventBus)
    版本"mitt":"^3.0.1"1、npminstallmitt2、项目下创建文件夹eventBus建myEventBus.jsimportmittfrom'mitt'exportdefaultmitt() 3、组件里监听组件AimportmyEventBusfrom"../eventBus/myEventBus";myEventBus.on('closeVisit�......