#CF2137F. 前缀最大值不变性

    ID: 6701 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>其他数学难度二分查找组合数学数据结构排序*1900

前缀最大值不变性

给定两个长度均为 mm 的数组 xxyy。 构造另一个长度为 mm 的数组 zz,要求: zz 在每个位置的前缀最大值xx 对应位置的前缀最大值完全相同。

形式化定义:对所有 1im1\le i\le m,满足

max(x1,x2,,xi)=max(z1,z2,,zi)\max(x_1,x_2,\dots,x_i) = \max(z_1,z_2,\dots,z_i)

定义 f(x,y)f(x,y): 在所有满足前缀最大值约束的合法数组 zz 中,最多能有多少个位置满足 zi=yiz_i=y_i

现在给定两个长度均为 nn 的整数序列 aabb,求:

$$\sum_{l=1}^{n}\sum_{r=l}^{n} f\big(\,[a_l,a_{l+1},\dots,a_r]\,,\,[b_l,b_{l+1},\dots,b_r]\,\big) $$

输入说明

多组测试数据。 第一行输入测试组数 tt1t1041\le t\le 10^4)。

每组数据: 第一行输入整数 nn1n21051\le n\le 2\cdot 10^5)。 第二行输入 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n1ai2n1\le a_i\le 2n)。 第三行输入 nn 个整数 b1,b2,,bnb_1,b_2,\dots,b_n1bi2n1\le b_i\le 2n)。

保证所有测试数据的 nn 总和不超过 21052\cdot 10^5

输出说明

对每组测试用例,输出所有区间 [l,r][l,r] 对应的 ff 值之和。


样例解释(第一组)

n=3n=3 a=[5,3,1], b=[4,2,1]a=[5,3,1],\ b=[4,2,1]

所有子区间的 ff 值: f([5],[4])=0f([5],[4])=0 f([3],[2])=0f([3],[2])=0 f([1],[1])=1f([1],[1])=1 f([5,3],[4,2])=1f([5,3],[4,2])=1 f([3,1],[2,1])=1f([3,1],[2,1])=1 f([5,3,1],[4,2,1])=2f([5,3,1],[4,2,1])=2

总和:0+0+1+1+1+2=50+0+1+1+1+2 = 5,与样例输出一致。