AT_aalc001_t.K-Inversion Count

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

对于正整数 KK 和长度为 LL 的整数序列 C=(C1,C2,…,CL)C=(C_1,C_2,\ldots,C_L),定义 CC 的 KK-逆序对数量 为满足以下两个条件的整数对 (i,j)(i,j) 的个数:

  • 1≤i<j≤L1 \le i \lt j \le L
  • Cj<Ci≤Cj+KC_j \lt C_i \le C_j+K

给定正整数 N,Q,KN,Q,K 和长度为 NN 的非负整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N)。

处理 QQ 个查询。在第 ii 个查询中,给定正整数 mi,xim_i,x_i。

选择一个介于 00 与 mim_i(含端点)之间的整数 tt,并将 xix_i 插入到序列 (A1,A2,…,Ami)(A_1,A_2,\ldots,A_{m_i}) 的前 tt 个元素之后。即,得到的新序列为

\[ (A_1,\ldots,A_t,x_i,A_{t+1},\ldots,A_{m_i}) \]

其中,若 t=0t=0,则 xix_i 插入到开头;若 t=mit=m_i,则 xix_i 插入到末尾。

求所得序列的最小可能的 KK-逆序对数量。每个查询相互独立。

输入格式

输入从标准输入中按以下格式给出:

NN QQ KK
A1A_1 A2A_2 …\ldots ANA_N
m1m_1 x1x_1
m2m_2 x2x_2
⋮\vdots
mQm_Q xQx_Q

输出格式

输出 QQ 行。第 ii 行应包含第 ii 个查询的答案。

输入输出样例

  • 输入#1

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

    输出#1

    4
    1
    0
  • 输入#2

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

    输出#2

    3
    2
    0
    1
    0

说明/提示

样例 1 解释:
对于第 11 个查询,将 22 在时刻 t=0t=0 插入,得到序列 (2,3,1,4,2)(2,3,1,4,2),其 22-逆序对数为 44。不存在任何插入位置能使 22-逆序对数不超过 33,因此答案为 44。

约束条件

  • 1≤N≤2×1051 \le N \le 2 \times 10^5
  • 1≤Q≤2×1051 \le Q \le 2 \times 10^5
  • 1≤K≤N1 \le K \le N
  • 1≤Ai≤N1 \le A_i \le N
  • 1≤mi≤N1 \le m_i \le N
  • 1≤xi≤N1 \le x_i \le N
  • 输入中的所有数值均为整数。

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

首页