#bzoj4989. Why Did the Cow Cross the Road

Why Did the Cow Cross the Road

题目描述

奶牛为什么过马路?我们可能永远不会知道全部原因,但可以肯定的是,农民约翰的奶牛最终确实经常过马路。事实上,他们经常过马路,所以当他们的路交叉时,他们经常撞到对方,这是农民约翰想补救的情况。农民约翰饲养了N种奶牛,他的每块田地都专门用于放牧一种特定的奶牛;例如,专用于品种1212的场地只能用于品种1212的奶牛,而不能用于任何其他品种的奶牛。一条长长的路穿过他的农场。道路一侧有一系列NNNN字段(每个品种一个),道路另一侧有一个NN字段序列(每个品种也有一个)。因此,当奶牛过马路时,它会穿过为其特定品种指定的两块田地。

如果农夫约翰计划得更仔细,他会在道路两侧以同样的方式按品种订购田地,这样每种品种的两块田地就会直接在马路对面。这将使奶牛过马路时,不同品种的奶牛不会相互碰撞。唉,路两边的顺序可能不同,所以农民约翰观察到可能有成对的品种交叉。如果品种aaaa的任何道路必须与品种bbbb的任何道路相交,则一对不同的品种(a,b)(a,b)是“交叉”的。

农民约翰希望尽量减少品种交叉对的数量。出于后勤原因,他认为他可以在路的一边移动奶牛,这样那一边的田地就会发生“循环移位”。也就是说,对于一些0k<N0≤k<N的情况,每头奶牛都会重新定位到它前面的kk田地,最后kkkk田地里的奶牛会移动,所以它们现在会填充前kkkk田地。

例如,如果道路一侧的田地按品种开始排序为3,7,1,2,5,4,63,7,1,2,5,4,6,并经历k=2k=2的循环移位,则新的顺序将是4,6,3,7,1,2,54,6,3,7,1,2,5。请确定在道路一侧的田地进行适当的循环移位后,可以存在的品种交叉对的最小可能数量。

上下有两个位置分别对应的序列A,BA,B,长度为nn,两序列为nn的一个排列。当Ai=BjA_i= B_j时,上下会连一条边。你可以选择序列AA或者序列BB进行旋转任意KK步.

3,4,1,5,23, 4,1, 5, 2 旋转两步为5,2,3,4,1 5, 2, 3, 4, 1

求旋转后最小的相交的线段的对数。

输入格式

第一行输入包含NN

接下来的NN行按品种IDID描述了道路一侧田地的顺序;

最后NN行按品种IDID描述了道路另一侧田地的顺序。

输出格式

请输出道路一侧田地循环移位后品种交叉对的最小数量(任何一侧都可以移位)。

样例

5 5 4 1 3 2 1 3 2 5 4
0

数据规模与约定

对于100%100\%的数据:1N105,1IDn1≤N≤10^5,1\le ID\le n.