CF2157C.Meximum Array 2

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

给定三个正整数 nn、kk 和 qq。你还会得到 qq 个三元组 (c,l,r)(c, l, r),其中 1≤c≤21 \leq c \leq 2,1≤l≤r≤n1 \leq l \leq r \leq n。

如果存在一个数组 a1,a2,…,ana_1, a_2, \ldots, a_n 满足 0≤ai≤1090 \leq a_i \leq 10^9 对于每个 i∈[1,n]i \in [1, n],并且对于每个给定的三元组 (c,l,r)(c, l, r),都有以下条件成立:

  • 如果 c=1c = 1,则 min⁡(al,al+1,…,ar)=k\min(a_l, a_{l+1}, \ldots, a_r) = k;
  • 如果 c=2c = 2,则 MEX⁡∗(al,al+1,…,ar)=k\operatorname{MEX}^* (a_l, a_{l+1}, \ldots, a_r) = k。

注意,所有约束中的参数 kk 都是相同的。

找到一个“meximum”数组 a1,a2,…,ana_1, a_2, \ldots, a_n,长度为 nn。输入保证总存在一个合法的数组。如果有多种满足条件的数组,你可以输出其中任意一种。

∗^* 最小未出现数(MEX),指对一组整数 a1,a2,…,aka_1, a_2, \ldots, a_k,它们的 MEX 定义为没有出现在该集合中的最小非负整数 xx。

输入格式

每组测试包含若干组测试用例。第一行包含测试用例数量 tt,1≤t≤5001 \le t \le 500。每组测试用例的描述如下。

每组测试用例的第一行包含三个整数 nn、kk、qq,1≤k≤n≤1001 \leq k \leq n \leq 100,1≤q≤1001 \leq q \leq 100——表示数组的长度 a1,a2,…,ana_1, a_2, \ldots, a_n,min⁡\min 和 MEX⁡\operatorname{MEX} 约束的目标值 kk,以及约束的数量 qq。

接下来 qq 行,每行包含一个三元组 (c,l,r)(c, l, r),对数组 al,al+1,...,ara_{l}, a_{l+1}, ..., a_{r} 加以约束。含义如上所述。

保证输入对应的每组情况下都至少存在一个合法数组。

注意,不存在 nn、kk 或 qq 在所有测试用例的总和上的其他限制。

输出格式

对于每组测试用例,输出一行,包含一个合法的“meximum”数组 a1,a2,…,ana_1, a_2, \ldots, a_n。

输入输出样例

  • 输入#1

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

    输出#1

    2 5 4 3 0 1
    2 0 1
    3 3 3
    1 0 1

说明/提示

在第一个测试用例中,需要构造一个 n=6n=6,k=2k=2,有 q=2q=2 个约束的 meximum 数组。

  • 三元组 (1,1,3)(1, 1, 3):要求 min⁡(a1,a2,a3)=2\min(a_1, a_2, a_3) = 2;
  • 三元组 (2,2,6)(2, 2, 6):要求 MEX⁡(a2,a3,a4,a5,a6)=2\operatorname{MEX}(a_2, a_3, a_4, a_5, a_6) = 2。

一个满足所有条件的数组,例如 [2,5,4,3,0,1][2, 5, 4, 3, 0, 1]。

在第二个测试用例中,需要构造一个 n=3n=3,k=3k=3,有一个约束的 meximum 数组。

  • 三元组 (2,1,3)(2, 1, 3):要求 MEX⁡(a1,a2,a3)=3\operatorname{MEX}(a_1, a_2, a_3) = 3。

一个合法的数组是 [2,0,1][2, 0, 1]。

由 ChatGPT 5 翻译

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

首页