AT_tupc2024_f.Another Long Sequence Inversion

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定非负整数 L,R,XL, R, X,以二进制形式给出。请用二进制输出长度为 R−L+1R-L+1 的整数序列 (L⊕X,(L+1)⊕X,…,R⊕X)(L \oplus X, (L+1)\oplus X, \dots, R\oplus X) 的逆序对数。

其中,⊕\oplus 表示按位异或操作。

一共有 TT 组测试数据,分别求出每组的答案。

逆序对数的定义如下:对于数列 B=(B1,B2,…,BM)B=(B_1,B_2,\dots,B_M),逆序对是满足 1≤i<j≤M1 \leq i < j \leq M 且 Bi>BjB_i > B_j 的整数对的个数。

按位异或的定义如下:对于非负整数 A,BA,B,它们的异或 A⊕BA \oplus B 是指将 A,BA,B 按二进制表示后,每一位如果 AA 或 BB 在该位上有且只有一个是 11,则结果该位为 11,否则为 00。

例如,3⊕5=63 \oplus 5 = 6,二进制表示为:011⊕101=110011 \oplus 101 = 110。

输入格式

输入以如下格式从标准输入给出。

TT
case1\text{case}_1
case2\text{case}_2
⋮\vdots
caseT\text{case}_T

每组测试数据的格式如下:

LL RR XX

输出格式

输出共 TT 行。第 ii 行输出第 ii 个测试数据的答案。

输入输出样例

  • 输入#1

    3
    101 1000 10
    1101 10111010 0
    1000110 1110011011101 100011110010

    输出#1

    10
    0
    11100100001101111010100

说明/提示

部分分

对于满足额外约束 T≤3000,R<230,X<230T \leq 3000, R < 2^{30}, X < 2^{30} 的数据集,若答案正确可获得 1010 分。

样例解释 1

对于第 11 个测试数据,将 L,R,XL,R,X 转为十进制分别为 L=5,R=8,X=2L=5, R=8, X=2。(5⊕2,6⊕2,7⊕2,8⊕2)=(7,4,5,10)(5\oplus 2, 6\oplus 2, 7\oplus 2, 8\oplus 2)=(7,4,5,10),所要求的逆序对数为 22。

数据范围

  • 1≤T≤2×1051 \leq T \leq 2 \times 10^5
  • 0≤L≤R<22×1050 \leq L \leq R < 2^{2\times 10^5}
  • 0≤X<22×1050 \leq X < 2^{2\times 10^5}
  • 所有输入均为整数
  • TT 用十进制给出
  • L,R,XL, R, X 用二进制给出,且不含前导多余 00(00 例外,视为一位整数)
  • 单个输入文件中 RR 的所有二进制位数之和不超过 2×1052\times 10^5
  • 单个输入文件中 XX 的所有二进制位数之和不超过 2×1052\times 10^5

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页