#7209. djb的多米诺

0
    ID: 7209 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 5 上传者: 标签>2025提高班模拟赛(28)线段树模拟并查集组合数学CSP-S

djb的多米诺

djb 的多米诺

题目描述

djb 在一个 n∗nn * n 的矩形网格的正中间放了共计 (n−2)∗(n−2)(n - 2) * (n - 2) 个正方形多米诺骨牌 如下形状(用 11 表示多米诺骨牌,00 表示为空):

000000 011110 011110 011110 011110 000000

接下来 djb 会进行 QQ 次操作,操作分为两种:

从左往右推倒 (i,2)(i,2) 的多米诺骨牌

从上往下推倒 (2,i)(2,i) 的多米诺骨牌

众所周知,多米诺骨牌在被推倒时,会连带把倒向的多米诺骨牌一起推倒,直到该方向下一格没有多米诺骨牌为止

例如如上的网格, djb 从上往下推倒 (2,4)(2,4) 的多米诺骨牌后变为

000000 011010 011010 011010 011010 000000

接着 djb 从左往右推倒 (4,2)(4,2) 的多米诺骨牌:

000000 011010 011010 000010 011010 000000

现在 djb 想知道,TT 次操作以后,网格上还有多少多米诺骨牌还没倒?

输入格式

第一行输入两个正整数 n,Tn,T, 表示网格大小和操作次数

接下来 TT 行,每行包含两个整数 op,xop, x 若 op==1op == 1 表示 djb 从上往下推倒了 (2,x)(2,x) 这块多米诺骨牌 若 op==2op == 2 表示 djb 从左往右推倒了 (x,2)(x,2) 这块多米诺骨牌

输出格式

输出一个整数,表示还没倒的多米诺骨牌数量

数据范围

对于 30%30\% 的数据:n≤2000n \leq 2000。

对于 70%70\% 的数据:时限11s。

对于最后 30%30\% 的数据:时限 500ms500ms。

对于 100%100\% 的数据:$n \leq 2\times 10^5,1\leq T \leq \min(2n-4,2\times 10^5),2\leq x\leq n-1$

特别的保证: djb 不会推倒同一块多米诺骨牌

样例输入

6 2
1 4
2 4

样例输出

10