#P17365. [ECNA 2024] Repetitive Routes

[ECNA 2024] Repetitive Routes

题目描述

Tory 经营一项预约式出行服务。顾客可以预约车辆到一个地点接人,再把他们送到另一个地点。所用车辆能够容纳许多乘客,因此途中有时会额外停车,接送其他乘客。

顾客通常可以容忍路线有些低效,但不太能接受返回旅途中已经到过的地点。Tory 已经安排好一系列接送事件,以服务所有乘客,现在想知道可能收到多少次投诉。

根据以往经验,每当一名顾客返回其本次行程中已经到过的地点时,Tory 就会收到该顾客的一次投诉。这意味着同一名顾客可能投诉多次,甚至可能因为第三次或更多次访问同一个地点而反复投诉。

顾客的上车地点和下车地点都计入其到过的地点。若连续两次接送事件发生在同一地点,对于当时在车内的任何顾客,这同样算作再次访问该地点。顾客的下车地点可以与上车地点相同;按照上述规则,这名顾客也会因此投诉。

给定所有接送事件及其地点的顺序,求 Tory 预计会收到的投诉总数。

输入格式

第一行包含顾客数量 nn(1≤n≤2000001\le n\le 200000)。

接下来的 2n2n 行中,每行包含两个整数。第一个是 11 到 nn 之间的顾客编号,第二个表示地点,范围为 11 到 2n2n。不同地点编号代表不同地点。

每个顾客编号恰好出现两次。顾客 CC 的编号第一次出现表示接上顾客 CC,第二次出现表示让其下车;两次出现之间的所有行,都是顾客 CC 在车内期间车辆访问的地点及完成的其他接送事件。

顾客 11 最先上车;顾客 CC 一定在顾客 C+1C+1 之前上车。同样,地点 11 是顾客 11 的上车地点;只有地点 LL 已经访问过,地点 L+1L+1 才可能被访问。车辆同时搭载的乘客数量没有上限。

输出格式

输出一个整数,表示按给定接送顺序 Tory 预计收到的投诉总数。

4
1 1
2 2
2 3
3 2
4 1
4 2
1 3
3 4
5
4
1 1
2 1
3 1
4 1
4 1
3 1
2 1
1 1
16