news 2026/6/11 0:08:21

圣【牛客tracker 每日一题】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
圣【牛客tracker 每日一题】

时间限制:1秒 空间限制:256M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

给定n nn个数a i a_iai,求值:X O R i = 1 n O R j = 1 n ( a i XOR_{i=1}^nOR_{j=1}^n(a_iXORi=1nORj=1n(aiA N D ANDANDa j ) a_j)aj),其中符号X O R i = 1 n a i = ( a 1 XOR_{i=1}^na_i=(a_1XORi=1nai=(a1X O R XORXORa 2 ⋯ X O R a_2 ⋯ XORa2XORa n ) a_n)an),另外两个符号同理。

例如n = 2 n=2n=2时即计算:[ ( a 1 [(a_1[(a1A N D ANDANDa 1 ) a_1)a1)O R OROR( a 1 (a_1(a1A N D ANDANDa 2 ) ] a_2)]a2)]X O R XORXOR[ ( a 2 [(a_2[(a2A N D ANDANDa 1 ) a_1)a1)O R OROR( a 2 (a_2(a2A N D ANDANDa 2 ) ] a_2)]a2)]的值。

伪代码:init()读入,print()输出 T ←init()fork ←1..T n ←init()fori ←1..n a[i]init()ans ←0fori ←1..n tp ←0forj ←1..n tp ← tpor(a[i]anda[j])ans ← ansxortpprint(ans)C/C++语言版:for(k=1;k<=T;++k){n=init();for(i=1;i<=n;++i)a[i]=init();ans=0;for(i=1;i<=n;++i){tp=0;for(j=1;j<=n;++j)tp|=(a[i]&a[j]);ans^=tp;}}

输入描述:

全文第一行输入一个正整数T ( 1 ≤ T ≤ 1 0 5 ) T(1≤T≤10^5)T(1T105),表示数据组数。

对每组数据,第一行输入一个正整数n ( 1 ≤ n ≤ 1 0 5 , ∑ n ≤ 5 × 1 0 5 ) n(1≤n≤10^5,∑n≤5×10^5)n(1n105,n5×105)

第二行输入n nn个正整数,表示a i ( 1 ≤ a i ≤ 1 0 9 ) a_i(1≤a_i≤10^9)ai(1ai109)

输出描述:

对每组数据,输出一行一个整数表示答案。

示例1

输入:

1 2 1 1

输出:

0

解题思路

通过数学推导简化原表达式,发现对于每个i iiO R j = 1 n ( a i OR_{j=1}^n (a_iORj=1n(ai&a j ) a_j)aj)的结果等价于a i a_iai(因j = i j=ij=ia i a_iai&a i = a i a_i=a_iai=ai,其余a i a_iai&a j ≤ a i a_j≤a_iajai,或运算后结果仍为a i a_iai),因此原表达式X O R i = 1 n O R j = 1 n ( a i XOR_{i=1}^nOR_{j=1}^n(a_iXORi=1nORj=1n(aiA N D ANDANDa j ) a_j)aj)可简化为所有a i a_iai的异或和;基于此,解题时无需按原伪代码的O ( n 2 ) O(n²)O(n2)嵌套循环,直接对每组数据读取n nna i a_iai并计算其异或和即可;该方法将时间复杂度降至O ( n ) O(n)O(n),适配T TT1 e 5 1e51e5∑ n ≤ 5 e 5 ∑n≤5e5n5e5的输入规模,避免了冗余的嵌套运算,通过规律推导高效且精准地输出每组数据的答案。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefpair<ll,ll>pii;constll p=1e9+7;constll N=2e5+10;voidsolve(){ll n;cin>>n;ll x=0;for(ll i=1;i<=n;i++){ll y;cin>>y;x^=y;}cout<<x<<endl;}intmain(){ll t;cin>>t;while(t--)solve();return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 19:03:32

大一新手不知道做什么?一个Arduino 闪烁LED红绿灯震惊全班同学!

文章目录 1.前言2.欣赏成果3.安装对应软件网址arduino.cc/en/software 4.学习软件的使用安装结束&#xff0c;我们进入首页**选择我们对应的开发板Arduino UNO**选择之后就会将UNO开发板作为默认**&#xff08;UNO开发板适合初学者简单易上手&#xff09;**并将开发板连接到电脑…

作者头像 李华
网站建设 2026/6/10 19:44:09

【接口测试】2_代码实现 _设置http请求语法

文章目录一、设置http请求语法&#xff08;重点&#xff09;1.1 请求方法1.2 Response对象—获取响应内容二、应用案例2.1 入门案例2.2 案例1-get请求2.3 案例2-post请求2.3.1 带表单数据的post请求2.3.2 带 json数据 的post请求2.4 案例4-put请求2.5 案例5-delete请求一、设置…

作者头像 李华
网站建设 2026/6/9 20:53:41

看着Uniswap的曲线,你想过自己做Swap吗?

深夜两点&#xff0c;李明的办公室里还亮着灯。屏幕上Uniswap的曲线图上下跳动&#xff0c;他盯着那些数字&#xff0c;心里反复盘算着同一个问题&#xff1a;如果我也做一个去中心化交易所&#xff0c;需要多少成本&#xff1f;多少时间&#xff1f;成功的概率有多大&#xff…

作者头像 李华
网站建设 2026/6/10 15:29:43

企业高效定位高潜客户的技术路径与实践方法论

在当今高度数字化的商业环境中&#xff0c;企业增长的核心驱动力之一在于精准识别并触达高潜在价值客户。然而&#xff0c;面对海量、多源、非结构化的数据洪流&#xff0c;传统依赖销售团队直觉与有限市场调研的客户发掘方式&#xff0c;已难以满足效率与精准度的双重需求。企…

作者头像 李华