#P1188. 任务

任务

题目描述

有 nn 个机器人和 nn 个任务。第 ii 个任务会在第 aia_i 个时刻被下发,第 ii 个机器人会在第 bib_i 个时刻领取任务。第 ii 个机器人会按照以下规则领取任务:

  1. 如果编号为 ii 的任务未被领取,那么它会领取这个任务;
  2. 如果编号为 ii 的任务已被领取,且还有其它可以领取的任务,那么它会领取其中编号最小的任务;
  3. 如果没有可以领取的任务,它会直接离开。

为了让机器人有序开展工作,避免发生冲突,{ai},{bi}\{a_i\},\{b_i\} 会遵守以下规则:

  1. 任务会按编号顺序下发,即序列 {ai}\{a_i\} 严格递增;
  2. 领取任务和下发任务的时间不会冲突,即 {ai},{bi}\{a_i\},\{b_i\} 中的所有 2n2n 个数都互不相同;
  3. 机器人一定会在对应的任务下发之后再试图领取,即对于所有的 ii,保证 ai<bia_i < b_i。

但是由于系统故障,有一个任务不会被下发。如果一个机器人没有拿走编号和自己相同的任务(即机器人逻辑中的情形 2 和 3),那么称这个机器人 失配 了。现在你想知道,这个缺失的任务最多可能会造成多少个机器人失配。

输入格式

第一行一个正整数 TT,代表数据组数。接下来 TT 组数据,每组数据的格式如下:

  • 第一行一个正整数 nn,代表机器人的数量和任务的数量;
  • 接下来一行 nn 个整数,代表任务下发的时间 [a1,a2,…,an][a_1,a_2,\ldots,a_n];
  • 接下来一行 nn 个整数,代表机器人领取任务的时间 [b1,b2,…,bn][b_1,b_2,\ldots,b_n]。

输出格式

对于每组数据,输出一行一个整数,代表最多有多少个机器人失配。

3
3
1 3 4
2 6 5
3
1 2 4
3 5 6
4
1 3 5 7
2 4 6 8
2
3
1

数据范围

 

  • 对于 30%30\% 的数据,1≤T≤2001 \le T \le 200,1≤n≤2001 \le n \le 200;
  • 对于另外 30%30\% 的数据,ai=ia_i = i;
  • 对于 100%100\% 的数据:
    • 1≤T≤1051 \le T \le 10^5;
    • 1≤n≤2⋅1051 \le n \le 2 \cdot 10^5,1≤∑n≤2⋅1051 \le \sum n \le 2 \cdot 10^5;
    • 1≤ai<bi≤2n1 \le a_i < b_i \le 2n,保证 {ai}\{a_i\} 严格递增,且 {ai},{bi}\{a_i\},\{b_i\} 中的所有 2n2n 个数都互不相同。