A. 统一校准

    传统题 1000ms 256MiB

统一校准

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

统一校准

题目背景

一台旧温度计的校准表出了问题:它每次显示某个读数 xx 时,真实读数其实都应该是同一个值 yy

现在你只来得及修正一种错误读数。

题目描述

给定一个长度为 nn 的整数序列 a1,a2,,ana_1,a_2,\dots,a_n,表示按时间顺序记录的读数。

正常情况下,读数应当是非降的,也就是说对于所有 1i<n1 \le i < n,都应满足:

aiai+1a_i \le a_{i+1}

你可以不进行任何操作。

也可以选择一个在原序列中出现过的整数 xx,再选择一个整数 yy,将序列中所有等于 xx 的元素一次性全部改成 yy

其中 yy 必须满足:

1y1091 \le y \le 10^9

请判断,是否可以通过至多一次这样的校准,使整个序列变成非降序列。

输入格式

第一行输入一个整数 TT,表示测试数据组数。

对于每组测试数据:

第一行输入一个整数 nn,表示序列长度。

第二行输入 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n,表示读数序列。

数据范围

对于所有测试数据,保证:

1T1041 \le T \le 10^4 1n2×1051 \le n \le 2 \times 10^5 1ai1091 \le a_i \le 10^9

所有测试数据的 nn 之和不超过 2×1052 \times 10^5

所有输入数据均为整数。

输出格式

对于每组测试数据,输出一行。

如果可以完成校准,使整个序列变成非降序列,输出 YES

否则输出 NO

输入输出样例 #1

输入 #1

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

输出 #1

YES
NO
YES
YES
YES
YES

说明/提示

对于第一组数据,可以把所有 55 改成 33,得到:

1 3 3 4

序列变成非降序列,因此输出 YES

对于第二组数据,无论选择哪一种读数统一修改,都无法让序列变成非降序列,因此输出 NO

对于第三组数据,可以把所有 22 改成 11,得到:

1 1 1 1 1

因此输出 YES

对于第四组数据,可以把所有 33 改成 22,得到:

1 2 2 2 4

因此输出 YES

对于第五组数据,可以把所有 55 改成 44,得到:

4 4 4 4

因此输出 YES

对于第六组数据,原序列已经是非降序列,不需要进行操作,因此输出 YES

【睿爸信奥】入门组算法周赛(20260606)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-6-6 0:00
结束于
2026-6-13 0:00
持续时间
4 小时
主持人
参赛人数
22