E. LISDL | AtCoder Regular Contest 091

問題
Pは順列
|P| = N
LIS(P) = A
LDS(P) = B
Pを求めよ(ないかも)
1<=N,A,B<=3*10^5

 

解説

LISとLDSで重複している要素はたかだか1つなので
A + B <= N + 1
Nが大きすぎると駄目で
最大のケースで例えばA=2, B=3とすると
N = A*B=6で
3, 2, 1, 6, 5, 4
のように構成できる
N <= A * B
A + B - 1 <= N <= A*B
逆にこのときは必ず構成できる
構成の仕方
とりあえず先頭にB個の要素で{B, B-1, ,,,.,1}
あとは大きさB以下の単調減少列をA-1個くっつけていく