#552. 两个排列

两个排列

题目描述

给定两个长为 nn 的由 1n1 \sim n 构成的排列 a,ba, b。你需要求出有多少个 aa非空 连续子段是 bb 的子序列。

序列 cc 是序列 aa 的连续子段,当且仅当在序列 aa开头和结尾 各删除若干(可能为 00)个元素,能够得到序列 cc;序列 cc 是序列 bb 的子序列,当且仅当在序列 bb任意位置 删除若干(可能为 00)个元素,能够得到序列 cc

输入格式

第一行输入 11 个整数 nn

第二行输入 nn 个整数,表示排列 a1,,ana_1, \ldots, a_n

第三行输入 nn 个整数,表示排列 b1,,bnb_1, \ldots, b_n

输出格式

第一行输出 11 个整数,表示答案。

5
3 5 2 4 1 
2 4 5 3 1 
8

提示

数据范围

对于 100%100\% 的数据,1n1061\le n\le 10^6a,ba,b 构成 1n1 \sim n 的排列。

  • 子任务 1(1010 分):n5n\le 5
  • 子任务 2(3030 分):n103n\le 10^3
  • 子任务 3(3030 分):ai=ia_i=i
  • 子任务 4(3030 分):无特殊限制。