Будем так же строить последовательность с начала. Поставим единицу на первую позицию. Если dp(i-1,K)>0, то можем оставлять единицу там же и переходить ко второй позиции, если же dp(i-1,K)==0, то поставим двойку на первую позицию. Двойка образовывает инверсию с единицей, которая будет стоять после нее, поэтому теперь нужно требовать чтобы dp(i-1,K-1) было положительным. Далее, если dp(i-1,K-1)==0, ставим на первую позицию тройку и требуем dp(i-1,K-2)>0 и т.д.. Таким образом мы можем подобрать первую цифру. Затем у нас остается перестановка из Н-1 числа и опять используем те же соображения для подбора остальных элементов. Главное помнить, какие числа мы уже поставили, чтобы они не повторялись.