#P15565. [COCI 2025/2026 #5] 剪刀 / Škare

    ID: 15471 远端评测题 3000ms 512MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>模拟O2优化COCI(克罗地亚)2026STL

[COCI 2025/2026 #5] 剪刀 / Škare

题目背景

本题满分 5050

题目描述

为了把使用剪刀的技能练到极致,Fran 想出了一个新的训练方法。

他有一条长度为 nn 厘米的纸条和一把剪刀,并请 Lana 给他下达切割指令。

Lana 会给 Fran 共 kk 条指令,每条形如:“把第 xx 条纸条在距离左端 ll 厘米处剪开”。

一开始 Fran 只有一条纸条。第一次剪开后会得到两段:长度分别为 llnln-l。此后每次剪开某一段纸条时,新产生的两段会替换原来那一段,并保持在序列中的位置。

更形式化地:设当前共有 mm 条纸条,长度依次为 a1,a2,,ama_1,a_2,\dots,a_m。若 Lana 让他把第 xx 条剪在 ll 厘米处,则新序列变为:$a_1,a_2,\dots,a_{x-1},\,l,\,a_x-l,\,a_{x+1},\dots,a_m$。

完成所有切割后,他们想验证过程是否正确,其中一种方式是统计最终序列中有多少种不同的纸条长度。请你计算这个数量。

输入格式

第一行包含两个自然数 n,kn,k2n5002 \le n \le 5001k<n1 \le k < n),表示原始纸条长度与指令条数。

接下来 kk 行每行包含两个自然数 xi,lix_i,l_i1xii1 \le x_i \le i,且 1liL11 \le l_i \le L-1,其中 LL 为当时第 xix_i 条纸条的长度),表示把当时从左到右数第 xix_i 条纸条在 lil_i 厘米处剪开。

输出格式

输出一行一个整数,表示完成所有切割后,最终剩下的纸条有多少种不同的长度。

5 1
1 2
2
6 2
1 4
1 2
1
10 3
1 2
2 3
3 2
2

提示

【样例解释】

样例 #1 解释:[5][2,3][5] \to [2,3]

样例 #2 解释:[6][4,2][2,2,2][6] \to [4,2] \to [2,2,2]

样例 #3 解释:[10][2,8][2,3,5][2,3,2,3][10] \to [2,8] \to [2,3,5] \to [2,3,2,3]

【子任务】

子任务 分值 限制
11 99 k3k \le 3
22 66 对所有 iili=1l_i = 1
33 1313 对所有 iixi=ix_i = i
44 2222 无额外限制