题目描述
对于正整数 h,w,我们用 (h,w) 表示一个纵边长为 h,横边长为 w 的长方形。注意,本题中不考虑长方形的旋转操作,当 h=w 时,长方形 (h,w) 与长方形 (w,h) 被视为不同的长方形。
一个长方形序列 ((h1,w1),(h2,w2),…,(hn,wn)) 被称为长方形生成列,当且仅当存在如下操作方法使得操作能够成功:
- 令长方形 X 为 (h1,w1)。在以下过程中,记当前长方形 X 的纵边长和横边长分别为 H,W。
- 对于 i=2,3,…,n,依次进行以下两种操作中的一种。如果两种都无法进行,则操作失败,过程结束。
- 若 X 的纵边长等于 hi,则将长方形 (hi,wi) 横向拼接到 X 上。即,此时 H=hi,将 X 替换为 (H,W+wi)。
- 若 X 的横边长等于 wi,则将长方形 (hi,wi) 纵向拼接到 X 上。即,此时 W=wi,将 X 替换为 (H+hi,W)。
- 若上述一系列操作均未失败,则操作成功,过程结束。
给定 N 个长方形,第 i 个长方形的纵边长为 Hi,横边长为 Wi。
请计算满足 1≤l≤r≤N,且长方形序列 ((Hl,Wl),(Hl+1,Wl+1),…,(Hr,Wr)) 是长方形生成列的整数对 (l,r) 的个数。
输入格式
输入按以下格式从标准输入读入:
N
H1 W1
H2 W2
⋮
HN WN
输出格式
输出答案。
样例 1
输入
4
1 2
1 3
2 3
3 1
输出
7
样例 2
输入
5
2 1
2 1
1 2
3 2
1 4
输出
10
样例 3
输入
1
1000000 1000000
输出
1
样例 4
输入
10
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
输出
55
说明/提示
数据范围
- 1≤N≤3×105
- 1≤Hi,Wi≤106
- 输入的所有值均为整数。
样例解释 1
满足条件的 (l,r) 有 7 个,分别为 (1,1),(1,2),(2,2),(2,3),(2,4),(3,3),(4,4)。例如,对于 (l,r)=(2,4),若依次进行纵向拼接 → 横向拼接,则操作可以成功。
由 ChatGPT 4.1 翻译