A6903 | 打招呼次数
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
数轴上有 $n$ 个人。第 $i$ 个人的起点是 $起点[i]=a_i$,终点是 $终点[i]=b_i$,并且一定有 $a_i<b_i$。
所有人同时出发:
- 每秒向右走 $1$ 个单位;
- 走到自己的终点 $b_i$ 后就停在 $b_i$ 不再移动;
- 即使已经停下,也仍然可能和别人打招呼。
当两个人在某一时刻站在同一个点上(位置相同),他们就会互相打招呼 **一次**。
请你计算:总共会发生多少次打招呼。
所有人同时出发:
- 每秒向右走 $1$ 个单位;
- 走到自己的终点 $b_i$ 后就停在 $b_i$ 不再移动;
- 即使已经停下,也仍然可能和别人打招呼。
当两个人在某一时刻站在同一个点上(位置相同),他们就会互相打招呼 **一次**。
请你计算:总共会发生多少次打招呼。
输入格式
第一行一个整数 $t$,表示测试用例个数。
对每个测试用例:
- 第一行一个整数 $n$,表示人数。
- 接下来 $n$ 行,每行两个整数 $a_i\ b_i$,表示第 $i$ 个人的起点和终点。
保证:每个测试用例里,所有 $a_1,a_2,\dots,a_n,b_1,b_2,\dots,b_n$ 这 $2n$ 个数都互不相同。
对每个测试用例:
- 第一行一个整数 $n$,表示人数。
- 接下来 $n$ 行,每行两个整数 $a_i\ b_i$,表示第 $i$ 个人的起点和终点。
保证:每个测试用例里,所有 $a_1,a_2,\dots,a_n,b_1,b_2,\dots,b_n$ 这 $2n$ 个数都互不相同。
输出格式
对每个测试用例输出一行一个整数:总打招呼次数。
输入输出样例
输入 #1
5 2 2 3 1 4 6 2 6 3 9 4 5 1 8 7 10 -2 100 4 -10 10 -5 5 -12 12 -13 13 5 -4 9 -2 5 3 4 6 7 8 10 4 1 2 3 4 5 6 7 8
输出 #1
1 9 6 4 0
## 数据范围
- $1 \le t \le 10^4$
- $1 \le n \le 2\times10^5$
- $-10^9 \le a_i < b_i \le 10^9$
- 所有测试用例的 $n$ 之和 $\le 2\times10^5$
## 样例解释
- 第 1 组:两个人分别从 2→3、1→4 出发。
第一个人到 3 就停下;第二个人会在某一时刻走到 3。
所以他们会在点 3 相遇一次,总共打招呼 1 次。
- $1 \le t \le 10^4$
- $1 \le n \le 2\times10^5$
- $-10^9 \le a_i < b_i \le 10^9$
- 所有测试用例的 $n$ 之和 $\le 2\times10^5$
## 样例解释
- 第 1 组:两个人分别从 2→3、1→4 出发。
第一个人到 3 就停下;第二个人会在某一时刻走到 3。
所以他们会在点 3 相遇一次,总共打招呼 1 次。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?