AT_utpc2020_c.Range Flip

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的整数序列 A1, …, ANA_1,\ \ldots,\ A_N,以及一个满足 1≤D≤N1 \leq D \leq N 的正整数 DD。你可以重复进行如下操作:

  • 选择满足 1≤L≤R≤N1 \leq L \leq R \leq N 且 R−L+1=DR-L+1=D 的整数 LL、RR,以及一个整数 XX,将 AL, AL+1, …, ARA_L,\ A_{L+1},\ \ldots,\ A_R 同时替换为 (X−AL), (X−AL+1), …, (X−AR)(X-A_L),\ (X-A_{L+1}),\ \ldots,\ (X-A_R)。

请判断是否可以通过有限次操作将 A1, A2, …, ANA_1,\ A_2,\ \ldots,\ A_N 变为 B1, B2, …, BNB_1,\ B_2,\ \ldots,\ B_N。如果可以,请构造一种满足以下所有条件的操作方案:

  • 操作次数不超过 3×1053\times 10^5 次(也可以为 00 次)。
  • 每次操作中 XX 的绝对值不超过 101310^{13}。

在本题的限制下,如果可以通过有限次操作使两序列一致,则一定存在满足上述条件的操作方案。

输入格式

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

NN DD A1A_1 A2A_2 …\ldots ANA_N B1B_1 B2B_2 …\ldots BNB_N

输出格式

如果可以使两序列一致,输出 Yes。否则输出 No。
若输出 Yes,第二行输出操作次数 K (0≤K≤3×105)K\ (0 \leq K \leq 3\times 10^5),接下来 KK 行,每行输出一次操作,格式如下:

L1L_1 R1R_1 X1X_1
⋮\vdots
LKL_K RKR_K XKX_K

其中 Li, Ri,XiL_i,\ R_i, X_i 表示第 ii 次操作的 L,R,XL,R,X。如果有多种满足条件的方案,输出任意一种即可。

输入输出样例

  • 输入#1

    4 2
    1 2 3 4
    4 4 3 3

    输出#1

    Yes
    3
    1 2 5
    3 4 7
    2 3 7
  • 输入#2

    2 2
    1 2
    1 3

    输出#2

    No

说明/提示

数据范围

  • 所有输入均为整数。
  • 1≤D≤N≤3×1051 \leq D \leq N \leq 3\times 10^5
  • ∣Ai∣≤106|A_i| \leq 10^6
  • ∣Bi∣≤106|B_i| \leq 10^6

部分分

  • 若能正确解决 1≤N≤3×1041 \leq N \leq 3\times 10^4 的数据,将获得 5050 分。

样例解释 1

  • 初始状态下,进行 (L,R,X)=(1,2,5)(L,R,X)=(1,2,5) 的操作后,[1,2,3,4]→[4,3,3,4][1,2,3,4]\to[4,3,3,4]。
  • 接着进行 (L,R,X)=(3,4,7)(L,R,X)=(3,4,7) 的操作后,[4,3,3,4]→[4,3,4,3][4,3,3,4]\to[4,3,4,3]。
  • 最后进行 (L,R,X)=(2,3,7)(L,R,X)=(2,3,7) 的操作后,[4,3,4,3]→[4,4,3,3][4,3,4,3]\to[4,4,3,3],与 BB 完全一致。

样例解释 2

无论如何操作,都无法使两序列一致。

由 ChatGPT 4.1 翻译

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

首页