loj#P184. 单位蒙日矩阵乘法

单位蒙日矩阵乘法

题目描述

对于一个长度为 nn 的排列 aa,定义 f(a)f(a) 为一个 n+1n+1 阶方阵,其中 f(a)i,j=ii[ai<j]f(a)_{i,j}=\sum_{i'\geq i}[a_{i'}<j]。(排列的下标、矩阵的下标、排列的值域均从 11 开始记)

对于两个矩阵 A,BA,B,定义其距离乘法 ABA\otimes B,其中 $(A\otimes B)_{i,j}=\min_k \left(A_{i,k}+B_{k,j}\right)$。

给定两个长度为 nn 的排列 a,ba,b,可以证明存在唯一的长度为 nn 的排列 cc,使得 f(a)f(b)=f(c)f(a)\otimes f(b)=f(c),请输出 cc

输入格式

第一行,一个正整数 nn

接下来两行,各 nn 个正整数,分别代表排列 a,ba,b

输出格式

一行,nn 个正整数,代表排列 cc

3
1 3 2
2 1 3

2 3 1

数据范围与提示

对于 30%30\% 的数据, n100n\leq 100

对于 100%100\% 的数据,1n5×1051\leq n\leq 5\times 10^5,保证 a,ba,b 是排列。