AT_abc466_d.Placing Rooks

普及-

通过率:0%

时间限制:2.00s

内存限制:1024MB

AC君温馨提醒

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

题目描述

有一个 NN 行 NN 列的网格。

初始时,网格上没有任何棋子。
从该状态开始,高桥将按顺序在网格上执行 MM 次操作。第 ii 次操作(1≤i≤M1\leq i\leq M)如下:

  • 移除位于从上往下数第 RiR_i 行的所有格子上的棋子;
  • 接着,移除位于从左往右数第 CiC_i 列的所有格子上的棋子;
  • 最后,在从上往下数第 RiR_i 行、从左往右数第 CiC_i 列的格子上放置一枚棋子。

输出 MM 次操作结束后网格上棋子的总数。

输入格式

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

NN MM
R1R_1 C1C_1
R2R_2 C2C_2
⋮\vdots
RMR_M CMC_M

输出格式

输出经过 MM 次操作后放置在网格上的棋子数量。

输入输出样例

  • 输入#1

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

    输出#1

    2
  • 输入#2

    2 3
    1 2
    2 1
    1 1

    输出#2

    1

说明/提示

样例 1 解释:
初始时,一个 33 行 33 列的网格中没有任何棋子,各次操作依次移除和放置棋子,过程如下。
下文中,从上往下第 ii 行、从左往右第 jj 列的格子记为格子 (i,j)(i,j)。

  • 第一次操作:在格子 (1,1)(1,1) 上放置一枚棋子。
  • 第二次操作:移除格子 (1,1)(1,1) 上的棋子,并在格子 (1,2)(1,2) 上放置一枚棋子。
  • 第三次操作:在格子 (3,3)(3,3) 上放置一枚棋子。
  • 第四次操作:移除格子 (1,2)(1,2) 和格子 (3,3)(3,3) 上的棋子,并在格子 (3,2)(3,2) 上放置一枚棋子。
  • 第五次操作:在格子 (1,3)(1,3) 上放置一枚棋子。
  • 第六次操作:移除格子 (1,3)(1,3) 上的棋子,再于格子 (1,3)(1,3) 上重新放置一枚棋子。

最终状态下,格子 (1,3)(1,3) 和格子 (3,2)(3,2) 各有一枚棋子,因此输出 22。

约束条件

  • 1≤N≤3×1051 \leq N \leq 3\times 10^5
  • 1≤M≤3×1051 \leq M \leq 3\times 10^5
  • 1≤Ri≤N1 \leq R_i \leq N
  • 1≤Ci≤N1 \leq C_i \leq N
  • 所有输入值均为整数。

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

首页