题目名称 4456. merge
输入输出 mergeegrem.in/out
难度等级 ★★★☆
时间限制 2000 ms (2 s)
内存限制 512 MiB
测试数据 20
题目来源 左清源 于2026-08-24加入修改该题
开放分组 全部用户
提交状态
分类标签
分享题解
通过:4, 提交:30, 通过率:13.33%
左清源 100 0.554 s 3.83 MiB C++
左清源 100 2.547 s 3.69 MiB C++
左清源 100 4.087 s 7.04 MiB C++
杨正一 100 5.060 s 8.78 MiB C++
左清源 55 19.827 s 6.08 MiB C++
杨正一 50 6.424 s 264.57 MiB C++
杨正一 50 6.643 s 264.55 MiB C++
侯子鸣 45 24.042 s 3.85 MiB C++
左清源 25 6.838 s 3.79 MiB C++
黄笑凡 25 31.524 s 3.96 MiB C++
本题关联比赛
2026.8.26
关于 merge 的近10条评论(全部评论)

4456. merge

★★★☆   输入文件:mergeegrem.in   输出文件:mergeegrem.out   评测插件
时间限制:2 s   内存限制:512 MiB

【题目背景】

在此键入。

【题目描述】

给定一个长度为 $n$ 的序列 $a_1,a_2,\ldots a_n$。

你可以对这个序列进行若干(可能为 $0$)次操作。在每次操作中,你将会:

    选择三个正整数 $i<j<k$,满足 $a_i\oplus a_j\oplus a_k=0$ 且 $k$ 的值不超过此时序列的长度。记 $s=a_i\oplus a_{i+1}\oplus \cdots\oplus a_k$。

    然后,删除 $a_i\sim a_k$,并在原来这 $k-i+1$ 个数所在的位置插入 $s$。注意,此时序列 $a$ 的长度将会减少 $(k-i)$。

请你判断是否能够使得序列 $a$ 仅剩一个数,也就是说,在所有操作结束后 $a$ 的长度为 $1$。若可以,你还需要给出一种操作方案。

【输入格式】

本题含有多组测试数据。

输入的第一行包含一个正整数 $T$,表示数据组数。

对于每组测试数据,第一行一个正整数 $n$,表示初始序列长度。

第二行 $n$ 个整数 $a_1,a_2,\ldots,a_n$,表示初始序列中每个元素的值。

【输出格式】

对于每组测试数据:

    若存在一种方案使得序列 $a$ 仅剩一个数,请在输出的第一行输出 Huoyu。

        接下来,在第二行你应该输出一个非负整数 $t$,表示你的操作次数。你需要保证 $0\le t\le n$。

        接下来 $t$ 行,每行输出三个正整数 $i,j,k$,表示你在这次操作中选择的三个数的值。你需要保证 $i<j<k$ 且 $k$ 的值不超过此时序列的长度。

    否则,请输出一行一个字符串 Shuiniao。

【样例输入】

2
5
3 3 1 4 5
9
3 4 6 5 4 5 1 2 4

【样例输出】

Huoyu
2
3 4 5
1 2 3
Huoyu
3
1 3 4
2 3 4
1 2 4

【样例说明】

对于第一组测试数据:

第一次操作中,$a_3\oplus a_4\oplus a_5=1\oplus4\oplus5=0$,操作后的序列为 $[3,3,0]$;

第二次操作中,$a_1\oplus a_2\oplus a_3=3\oplus3\oplus0=0$,操作后的序列为 $[0]$;

于是,序列 $a$ 在两次操作后仅剩一个数。

对于第二组测试数据:

第一次操作,$a_1\oplus a_3\oplus a_4=3\oplus6\oplus5=0$,$s=4$,操作后的序列为 $[4,4,5,1,2,4]$。

第二次操作,$a_2\oplus a_3\oplus a_4=4\oplus5\oplus1=0$,操作后的序列为 $[4,0,2,4]$。

第三次操作,$a_1\oplus a_2\oplus a_4=4\oplus0\oplus4=0$,$s=2$,操作后的序列为 $[2]$。

于是,序列 $a$ 在三次操作后仅剩一个数。

大样例。

【数据规模与约定】

对于所有数据满足 $1\le T\le 10,1\le n\le 500,0\le a_i<512$。

测试点编号 $n$ $a_i<$
$1$ $= 1$ $512$
$2$ $= 2$ $512$
$3$ $= 3$ $512$
$4$ $= 4$ $512$
$5$ $= 5$ $512$
$6\sim 7$ $\le 40$ $512$
$8\sim 9$ $\le 70$ $512$
$10\sim 11$ $\le 130$ $512$
$12\sim 13$ $\le 300$ $128$
$14\sim 15$ $\le 500$ $64$
$16\sim 17$ $\le 500$ $128$
$18\sim 20$ $\le 500$ $512$

【来源】

在此键入。