陕西整站关键词自然排名优化,外贸获客渠道有哪些,常宁市住房和城乡建设局网站,南宁seo服务公司问题描述#xff1a; 输入格式#xff1a; 输出格式#xff1a; 样例输入#xff1a; 2 3 1 2 3 4 1 2 3 4 样例输出: YES NO 说明/提示
评测用例规模与约定
对于 30% 的评测用例#xff0c;1≤T≤10#xff0c;2≤N≤100#xff0c;1≤Ai≤10^3。对于 100…问题描述 输入格式 输出格式 样例输入 2 3 1 2 3 4 1 2 3 4 样例输出: YES NO 说明/提示
评测用例规模与约定
对于 30% 的评测用例1≤T≤102≤N≤1001≤Ai≤10^3。对于 100% 的评测用例1≤T≤10^32≤N≤10^31≤Ai≤10^5。 思路 根据题目中我们可以知道要把一组数分成两组每组至少一个数要求这两组的异或和相等 样例{123} 比如我们让 12一组 3为一组这样就把这组数分为了两组然后我们开始求异或 ( 要转为2进制计算计算机内应该是以补码的形式进行计算但是恰巧这个题全是正数正数原码反码补码都一样)。 第一组 1 ^ 2 0000 0011; 第二组 3 0000 0011 这两组异或和相等输出YES我们还可以发现一个规律就是 分为两组异或和相等的二进制再次异或和的值为“0” 所以我们直接把一组数一起求异或和看是否等于0即可解决这题 案例代码
import java.util.*;
public class Main{public static void main(String[] args){Scanner sc new Scanner(System.in);int t sc.nextInt();while(t!0){boolean flag false;int res 0;int n sc.nextInt();int[] arr new int[n];for(int i0;in;i){arr[i] sc.nextInt();}for(int i 0; i n-1;i){res arr[i] ^ arr[i1];arr[i1] res;}if(res 0){flag true;}if(flag){System.out.println(YES);}else{System.out.println(NO);}t--;}}
}
洛谷提交后 以上仅是本人的思路并非最后的题解答案有错误的话欢迎小伙伴提出~