#P1086. 千万别用树套树

    ID: 87 远端评测题 3000ms 128MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>湖南省第十四届大学生计算机程序设计竞赛(HNCPC2018)

千万别用树套树

Description

Bobo 精通数据结构!他想维护一个线段的集合 S。初始时,S 为空。他会依次进行 q 次操作,操作有 2 种。

  • 类型 1:给出 l, r,向集合 S 中插入线段 [l, r].
  • 类型 2:给出 l, r,询问满足 [x, y] ∈ Sx ≤ l ≤ r ≤ y 的线段 [x, y] 数量。

帮 Bobo 求出每次询问的答案。

  • 1 ≤ n, q ≤ 105
  • ti ∈ {1, 2}
  • 1 ≤ li ≤ ri ≤ n
  • 对于 ti = 2 的操作,ri − li ≤ 2 成立。
  • 数据组数不超过 10.

Input

输入文件包含多组数据,请处理到文件结束。

每组数据的第一行包含 2 个整数 nq. 其中 n 表示操作中 r 的最大值。

接下来 q 行中的第 i 行包含 3 个整数 ti, li, ri,表示第 i 个操作属于类型 ti,对应的参数是 liri.

Output

对于每个类型 2 的询问,输出 1 个整数表示对应的数量。

1 2
1 1 1
2 1 1
4 4
1 1 4
2 2 3
1 1 4
2 2 3
1
1
2