A133745.舞台拼色

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

在一场大型文艺汇演中,共有来自不同地区的代表队参与表演。每个代表队的成员穿着统一颜色的服装,用编号表示其颜色。

导演希望通过一系列调度操作,让舞台上的演员最终呈现出一幅理想的颜色排列效果。

共有 nn 个代表队,每个代表队有足够多的成员,且第 ii 个代表队的服装颜色编号为 ii

舞台上有一排位置,共 mm 个,从左到右编号为 11mm。开始时舞台上没有演员。

导演将进行若干次操作,每次操作选择一个尚未使用过的代表队,并指定一个区间 [L,R][L, R]。该代表队的成员会占据舞台上从第 LL 到第 RR 的所有位置:

  • 如果某个位置上已经有演员,则原演员会被替换;
  • 新上场的演员全部来自同一个代表队,因此这些位置的颜色会被统一为该代表队的编号。

每个代表队最多只能被使用一次

现在给定导演希望最终舞台上从左到右的颜色序列 a1,a2,,ama_1, a_2, \dots, a_m

你的任务是:构造一组操作,使得经过这些操作后,舞台上的颜色排列恰好等于目标序列

如果无法实现,输出 1-1

输入格式

  • 第一行包含两个整数 m,nm, n,表示舞台位置数量和代表队数量。
  • 第二行包含 mm 个整数 a1,a2,,ama_1, a_2, \dots, a_m1ain1 \le a_i \le n),表示目标颜色序列。

输出格式

  • 第一行输出一个整数 kk
    • 若无解,输出 1-1
    • 否则,kk 表示需要进行的操作次数。
  • k1k \neq -1,接下来输出 kk 行,每行三个整数 ci,Li,Ric_i, L_i, R_i
    • 表示第 ii 次操作选择编号为 cic_i 的代表队,
    • 并让其成员占据区间 [Li,Ri][L_i, R_i]
  • 所有 cic_i 必须互不相同。

如果存在多种可行方案,输出任意一种即可。

输入输出样例

  • 输入#1

    7 10
    10 5 5 10 4 2 4

    输出#1

    5
    4 1 7
    7 2 4
    10 1 4
    5 2 3
    2 6 6
  • 输入#2

    5 2
    1 2 1 2 1

    输出#2

    -1
  • 输入#3

    6 5
    1 1 4 5 1 4

    输出#3

    -1

说明/提示

以样例 1 为例,按照输出的操作顺序,舞台上的颜色变化如下:

  1. 执行 (4,1,7)(4, 1, 7)
    4 4 4 4 4 4 44\ 4\ 4\ 4\ 4\ 4\ 4
  2. 执行 (7,2,4)(7, 2, 4)
    4 7 7 7 4 4 44\ 7\ 7\ 7\ 4\ 4\ 4
  3. 执行 (10,1,4)(10, 1, 4)
    10 10 10 10 4 4 410\ 10\ 10\ 10\ 4\ 4\ 4
  4. 执行 (5,2,3)(5, 2, 3)
    10 5 5 10 4 4 410\ 5\ 5\ 10\ 4\ 4\ 4
  5. 执行 (2,6,6)(2, 6, 6)
    10 5 5 10 4 2 410\ 5\ 5\ 10\ 4\ 2\ 4

最终得到目标序列。

数据范围

子任务编号 分值 mm \le nn \le
1 15 100 100
2 15 10410^4 10410^4
3 5 3×1053 \times 10^5 2
4 5 3×1053 \times 10^5 3
5 20 3×1053 \times 10^5 10
6 40 3×1053 \times 10^5 3×1053 \times 10^5

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

首页