news 2026/5/1 7:17:15

圣【牛客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/4/30 10:22:03

Jenkins 2.528.3 与 GitLab 深度集成:实现自动构建

在 Jenkins 2.528.3 版本中&#xff0c;实现 GitLab 代码推送&#xff08;Push&#xff09;后自动触发构建&#xff0c;主要依赖于 GitLab Plugin 或 Generic Webhook Trigger Plugin。以下是两种主流方法的详细配置指南&#xff0c;帮助构建高效的自动化流水线。核心配置概览自…

作者头像 李华
网站建设 2026/5/1 3:42:26

算法基础-多源最短路

多源最短路 多源最短路&#xff1a;即图中每对顶点间的最短路径。floyd 算法本质是动态规划&#xff0c;⽤来求任意两个结点之间的最短路&#xff0c;也称插点法。通过不断在两点之间加 ⼊新的点&#xff0c;来更新最短路。 适⽤于任何图&#xff0c;不管有向⽆向&#xff0c;…

作者头像 李华
网站建设 2026/5/1 10:37:02

新生态・新动能:人工智能产业格局分析

‍当前&#xff0c;人工智能产业已成为驱动数字经济高质量发展的核心引擎&#xff0c;不断推动产业生态建设和效能提升,各地政府积极响应推进科研创新与算力基础设施建设&#xff0c;因地制宜出台特色政策。持续探索新型大模型&#xff0c;推动AI产业向更高水平迈进。 一、人工…

作者头像 李华
网站建设 2026/5/1 8:15:23

Spring Cloud Gateway 核心特性与实践指南

摘要 本文深入探讨Spring Cloud Gateway在微服务架构中的核心作用&#xff0c;包括路由、过滤、限流等关键功能的实现原理与实践应用。通过详细的代码示例和架构分析&#xff0c;帮助开发者掌握Spring Cloud Gateway的最佳实践方法。 1. 引言 1.1 Spring Cloud Gateway 简介 Sp…

作者头像 李华
网站建设 2026/5/1 7:55:21

血液H组二糖—解析血型奥秘与疾病标志的核心糖结构 146076-26-8

血液H组二糖是ABO血型系统中最关键的抗原决定前体结构&#xff0c;被视为血型特异性表达的分子基石。它不仅构成了人类红细胞表面最基本的抗原表位&#xff0c;更在细胞识别、微生物感染、肿瘤发展及免疫调节等一系列生物学过程中扮演着核心角色。作为寡糖研究中的重要标准品和…

作者头像 李华