AT_abc207_c [ABC207C] Many Segments

题目描述

给定 $N$ 个编号为 $1$ 到 $N$ 的区间。第 $i$ 个区间的定义如下: - 如果 $t_i=1$,则区间为 $[l_i, r_i]$; - 如果 $t_i=2$,则区间为 $[l_i, r_i)$; - 如果 $t_i=3$,则区间为 $(l_i, r_i]$; - 如果 $t_i=4$,则区间为 $(l_i, r_i)$。 请问满足 $1 \leq i < j \leq N$ 的整数对 $(i, j)$ 中,有多少对区间 $i$ 和区间 $j$ 存在公共部分? 区间 $[X,Y]$、$[X,Y)$、$(X,Y]$、$(X,Y)$ 的定义如下: - 闭区间 $[X,Y]$ 表示所有大于等于 $X$ 且小于等于 $Y$ 的实数的集合; - 半开区间 $[X,Y)$ 表示所有大于等于 $X$ 且小于 $Y$ 的实数的集合; - 半开区间 $(X,Y]$ 表示所有大于 $X$ 且小于等于 $Y$ 的实数的集合; - 开区间 $(X,Y)$ 表示所有大于 $X$ 且小于 $Y$ 的实数的集合。 简而言之,方括号 $[]$ 表示包含端点,圆括号 $()$ 表示不包含端点。

输入格式

输入以如下格式从标准输入读入: > $N$ > $t_1$ $l_1$ $r_1$ > $t_2$ $l_2$ $r_2$ > $\vdots$ > $t_N$ $l_N$ $r_N$

输出格式

输出区间 $i$ 和区间 $j$ 存在公共部分的整数对 $(i, j)$ 的个数。

说明/提示

## 限制条件 - $2 \leq N \leq 2000$ - $1 \leq t_i \leq 4$ - $1 \leq l_i < r_i \leq 10^9$ - 输入均为整数 ## 样例解释 1 根据题目中的定义,区间 $1$ 为 $[1,2]$,区间 $2$ 为 $[2,3)$,区间 $3$ 为 $(2,4]$。存在公共部分的整数对 $(i, j)$ 有 $(1,2)$ 和 $(2,3)$ 共 $2$ 对。它们分别有 $[2,2]$ 和 $(2,3)$ 作为公共部分。 由 ChatGPT 4.1 翻译