两条艇会相撞,当且仅当把它们按起点排好后,左边那条的终点不小于右边那条的终点。同起点在 t=‘0‘ 已经重叠,也算相撞。
tails 数组即可。港池沿一条笔直岸线停了 m 条小艇。第 i 条现在停在坐标 ai,调度单要求它开到 bi。0 时刻所有被派出的小艇同时起步:还没到终点就以速度 1 沿岸线朝终点开,到了就停在 bi 不再动。坐标和时间都是实数,0.5 这样的时刻也要考虑。
若存在某个时刻 t≥0 使两条小艇坐标相同,就称它们相撞;t=‘0‘ 时已经重叠也算。调度员要从这 m 条里选出尽量多的小艇同时放行,使得任意时刻都没有两艇相撞。请输出最多能放行多少条。
会给出 q 个独立的调度单,请对每个调度单分别作答。所有调度单的 m 之和不超过 200000。
约束:
1 ≤ q ≤ 2000001 ≤ m ≤ 2000001 ≤ ai,bi ≤ 1000000000200000第一行一个整数 q(1 ≤ q ≤ 200000),表示调度单份数。
对每一份调度单:
1 ≤ m ≤ 200000),表示小艇条数;1 ≤ ai ≤ 1000000000),表示当前泊位;1 ≤ bi ≤ 1000000000),表示目标泊位。输出 q 行,每行一个整数,即该调度单最多能同时放行的小艇条数。
输入
1
4
2 5 8 12
4 15 7 14
输出
3
说明
第二条从 5 开到 15,第三条从 8 开到 7,会在中途撞上。去掉其中一条后,剩下三条任意时刻都不撞。
输入
1
3
4 4 9
8 6 12
输出
2
说明
前两条在 t=‘0‘ 时都在 4,已经算相撞,最多只能留一条;再与第三条搭配都不会撞,答案为 2。
输入
1
1
10
10
输出
1
说明
只有一条艇,不存在相撞。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册