#P11670. [USACO25JAN] Cow Checkups S

[USACO25JAN] Cow Checkups S

题目描述

Farmer John 的 NN1N51051 \leq N \leq 5 \cdot 10^5)头奶牛站成一行,奶牛 11 在队伍的最前面,奶牛 NN 在队伍的最后面。FJ 的奶牛也有许多不同的品种。他用从 11NN 的整数来表示每一品种。队伍从前到后第 ii 头奶牛的品种是 aia_i1aiN1 \leq a_i \leq N)。

FJ 正在带他的奶牛们去当地的奶牛医院进行体检。然而,奶牛兽医非常挑剔,仅愿意当队伍中第 ii 头奶牛为品种 bib_i1biN1 \leq b_i \leq N)时对其进行体检。

FJ 很懒惰,不想完全重新排列他的奶牛。他将执行以下操作恰好一次。

  • 选择两个整数 llrr,使得 1lrN1 \leq l \le r \leq N。反转队伍中第 ll 头奶牛到第 rr 头奶牛之间的奶牛的顺序。

FJ 想要衡量这种方法有多少效果。求出对于所有 N(N+1)/2N(N+1)/2 种可能的操作被兽医检查的奶牛数量之和。

输入格式

输入的第一行包含 NN

第二行包含 a1,a2,,aNa_1, a_2, \ldots, a_N

第三行包含 b1,b2,,bNb_1, b_2, \ldots, b_N

输出格式

输出一行,包含对于所有可能的操作被兽医检查的奶牛数量之和。

输入数据 1

3
1 3 2
3 2 1

输出数据 1

3

输入数据 2

3
1 2 3
1 2 3

输出数据 2

12

输入数据 3

7
1 3 2 2 1 3 2
3 2 2 1 2 3 1

输出数据 3

60

提示

样例解释

样例 #1

如果 FJ 选择 (l=1,r=1)(l=1,r=1)(l=2,r=2)(l=2,r=2)(l=3,r=3)(l=3,r=3),则没有奶牛将会被检查。注意这些操作并没有改变奶牛的位置。

以下操作会导致一头奶牛被检查。

  • (l=1,r=2)(l=1,r=2):FJ 反转第一头和第二头奶牛的顺序,因此新队伍中每头奶牛的品种将为 [3,1,2][3,1,2]。第一头奶牛将会被检查。
  • (l=2,r=3)(l=2,r=3):FJ 反转第二头和第三头奶牛的顺序,因此新队伍中每头奶牛的品种将为 [1,2,3][1,2,3]。第二头奶牛将会被检查。
  • (l=1,r=3)(l=1,r=3):FJ 反转第一头,第二头和第三头奶牛的顺序,因此新队伍中每头奶牛的品种将为 [2,3,1][2,3,1]。第三头奶牛将会被检查。

所有六种操作中被检查的奶牛数量之和为 0+0+0+1+1+1=30+0+0+1+1+1=3

样例 #2

有三种导致 33 头奶牛被检查的可能操作:(l=1,r=1)(l=1,r=1)(l=2,r=2)(l=2,r=2)(l=3,r=3)(l=3,r=3)。其余每种操作均导致 11 头奶牛被检查。所有六种操作中被检查的奶牛数量之和为 3+3+3+1+1+1=123+3+3+1+1+1=12

子任务

  • 测试点 4:N100N\le 100
  • 测试点 5:N5000N\le 5000
  • 测试点 6-9:aia_ibib_i 均在范围 [1,N][1,N] 内均匀随机生成。
  • 测试点 10-15:aia_ibib_i 均在范围 [1,2][1,2] 内均匀随机生成。
  • 测试点 16-23:没有额外限制。