AT_abc251_h.[ABC251Ex] Fill Triangle

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

有 NN 层的三角形状的方块。从上往下第 ii 层有 ii 个方块。

给定一个由不超过 66 的非负整数组成的序列 A=(A1,A2,...,AN)A = (A_1, A_2, ..., A_N),以及它的游程编码(Run-Length Encoding)序列 P=((a1,c1),(a2,c2),...,(aM,cM))P = ((a_1, c_1), (a_2, c_2), ..., (a_M, c_M))。

  • 例如,当 A=(2,2,2,5,5,1)A = (2, 2, 2, 5, 5, 1) 时,P=((2,3),(5,2),(1,1))P = ((2, 3), (5, 2), (1, 1))。

对于每个方块,记从上往下第 ii 层、从左往右第 jj 个方块上写的数为 Bi,jB_{i,j},请按照以下条件为所有方块填写数字:

  • 对于所有满足 1≤i≤N1 \leq i \leq N 的整数 ii,有 BN,i=AiB_{N,i} = A_i。
  • 对于所有满足 1≤j≤i≤N−11 \leq j \leq i \leq N-1 的整数对 (i,j)(i, j),有 Bi,j=(Bi+1,j+Bi+1,j+1) mod 7B_{i,j} = (B_{i+1,j} + B_{i+1,j+1}) \bmod 7。

请输出从上往下第 KK 层所有方块上写的数字。

什么是游程编码?
游程编码是将数列 AA 按照以下步骤转换为由整数对组成的序列的过程:

  1. 在相邻元素不同的地方将 AA 分割成若干段。
  2. 对于每一段 BB,用“该段的数字”和“该段的长度”组成一个整数对替换该段。
  3. 按原顺序排列所有整数对,得到新的序列。

输入格式

输入通过标准输入给出,格式如下:

NN MM KK a1a_1 c1c_1 a2a_2 c2c_2 ⋯\cdots aMa_M cMc_M

输出格式

请输出答案。保证在约束条件下答案唯一。

BK,1B_{K,1} BK,2B_{K,2} …\dots BK,KB_{K,K}

输入输出样例

  • 输入#1

    6 3 4
    2 3
    5 2
    1 1

    输出#1

    1 4 3 2
  • 输入#2

    1 1 1
    6 1

    输出#2

    6
  • 输入#3

    111111111 9 9
    0 1
    1 10
    2 100
    3 1000
    4 10000
    5 100000
    6 1000000
    0 10000000
    1 100000000

    输出#3

    1 0 4 2 5 5 5 6 3

说明/提示

约束条件

  • 1≤N≤1091 \leq N \leq 10^9
  • 1≤M≤min⁡(N,200)1 \leq M \leq \min(N, 200)
  • 1≤K≤min⁡(N,5×105)1 \leq K \leq \min(N, 5 \times 10^5)
  • 0≤ai≤60 \leq a_i \leq 6
  • 1≤ci≤N1 \leq c_i \leq N
  • ∑i=1Mci=N\sum_{i=1}^M c_i = N
  • 所有输入的值均为整数

样例解释 1

A=(2,2,2,5,5,1)A = (2,2,2,5,5,1)。各方块上的数字如下所示:

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

由 ChatGPT 4.1 翻译

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

首页