有解的必要条件是 $A_1=B_1=1$,$A_{i+1}\ge A_i$,$B_{i+1}\ge B_i$,$A_i\cdot B_i\ge i$,$(A_{i+1}-A_i)+(B_{i+1}-B_i)\le 1$。
设 $f_i$ 和 $g_i$ 分别为以 $i$ 结尾的 LIS 和 LDS 长度,我们可以先为每个数分配 $f_i$ 和 $g_i$,满足所有 $(f_i,g_i)$ 互不相同,且每个前缀的 $(f_i,g_i)$ 形成了一个阶梯形,这在上述的限制下是一定能做到的。之后我们令第 $i$ 个数为 $f_i\cdot N-g_i$,容易证明这个序列满足 $f_i$ 和 $g_i$ 的条件,最后离散化成排列即可,时间复杂度 $O(N)$。