求解
  • 板块题目总版
  • 楼主XQH123456
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/3/27 22:24
  • 上次更新2023/10/28 05:21:32
查看原帖
求解
520531
XQH123456楼主2022/3/27 22:24

C. 异或(xor.cpp) 内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 给定一个长度为 n 的数组 A,其中 0≤ < 求有多少对(l,r)(l≤r)使得序列 , ,... 的异或和为 0。

如果仅仅是这样那这道题目就太简单了。所以在检查(l,r)是否满足条件时, 允许你对 A 中下标从 l 到 r 的每个数字进行任意次修改,每次修改为交换数字的 相邻两个二进制位。求有多少对(l,r)(l≤r)使得序列 , ,... 中 的每一个数字经过任意次修改后异或和为 0。

输入格式 第一行包含一个整数 n(1≤n≤ 100000) 接下来的一行每行包含 n 个整数,表示数组 A。

输出格式 输出一个整数,表示满足条件的数对个数。

样例 输入 #1 3 1 2 3 输出 #1 2 数据范围与提示 样例解释: (1,2)和(1,3)满足条件 (1,1)(2,2)(3,3)(2,3)均不满足条件

对于 30% 的数据,满足 n ≤ 10。

对于 60% 的数据,满足 n ≤ 1000。

对于另外 20%的数据,满足 0≤ < 25

对于 100% 的数据,满足 1≤n≤100000,0≤ < 230

2022/3/27 22:24
加载中...