AT_arc179_e.[ARC179E] Rectangle Concatenation

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

对于正整数 h,wh,w,我们用 (h,w)(h,w) 表示一个纵边长为 hh,横边长为 ww 的长方形。注意,本题中不考虑长方形的旋转操作,当 h≠wh\neq w 时,长方形 (h,w)(h,w) 与长方形 (w,h)(w,h) 被视为不同的长方形。

一个长方形序列 ((h1,w1),(h2,w2),…,(hn,wn))((h_1,w_1),(h_2,w_2),\dots,(h_n,w_n)) 被称为长方形生成列,当且仅当存在如下操作方法使得操作能够成功:

  • 令长方形 XX 为 (h1,w1)(h_1,w_1)。在以下过程中,记当前长方形 XX 的纵边长和横边长分别为 H,WH,W。
  • 对于 i=2,3,…,ni=2,3,\dots,n,依次进行以下两种操作中的一种。如果两种都无法进行,则操作失败,过程结束。
    • 若 XX 的纵边长等于 hih_i,则将长方形 (hi,wi)(h_i,w_i) 横向拼接到 XX 上。即,此时 H=hiH=h_i,将 XX 替换为 (H,W+wi)(H,W+w_i)。
    • 若 XX 的横边长等于 wiw_i,则将长方形 (hi,wi)(h_i,w_i) 纵向拼接到 XX 上。即,此时 W=wiW=w_i,将 XX 替换为 (H+hi,W)(H+h_i,W)。
  • 若上述一系列操作均未失败,则操作成功,过程结束。

给定 NN 个长方形,第 ii 个长方形的纵边长为 HiH_i,横边长为 WiW_i。

请计算满足 1≤l≤r≤N1\leq l\leq r\leq N,且长方形序列 ((Hl,Wl),(Hl+1,Wl+1),…,(Hr,Wr))((H_l,W_l),(H_{l+1},W_{l+1}),\dots,(H_r,W_r)) 是长方形生成列的整数对 (l,r)(l,r) 的个数。

输入格式

输入按以下格式从标准输入读入:

NN
H1H_1 W1W_1
H2H_2 W2W_2
⋮\vdots
HNH_N WNW_N

输出格式

输出答案。

输入输出样例

  • 输入#1

    4
    1 2
    1 3
    2 3
    3 1

    输出#1

    7
  • 输入#2

    5
    2 1
    2 1
    1 2
    3 2
    1 4

    输出#2

    10
  • 输入#3

    1
    1000000 1000000

    输出#3

    1
  • 输入#4

    10
    1 1
    1 1
    1 1
    1 1
    1 1
    1 1
    1 1
    1 1
    1 1
    1 1

    输出#4

    55

说明/提示

数据范围

  • 1≤N≤3×1051\leq N\leq 3\times 10^5
  • 1≤Hi,Wi≤1061\leq H_i,W_i\leq 10^6
  • 输入的所有值均为整数。

样例解释 1

满足条件的 (l,r)(l,r) 有 77 个,分别为 (1,1),(1,2),(2,2),(2,3),(2,4),(3,3),(4,4)(1,1),(1,2),(2,2),(2,3),(2,4),(3,3),(4,4)。例如,对于 (l,r)=(2,4)(l,r)=(2,4),若依次进行纵向拼接 →\to 横向拼接,则操作可以成功。

由 ChatGPT 4.1 翻译

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

首页