Жалко. Не знал, что это классическая задача. Был почти уверен, что здесь
![$O(n^2)$ $O(n^2)$](https://dxdy-04.korotkov.co.uk/f/3/9/8/3987120c67ed5a9162aa9841b531c3a982.png)
пройдёт и даже думал об
![$O(n\log n)$ $O(n\log n)$](https://dxdy-03.korotkov.co.uk/f/e/d/9/ed97a38f4f673f00fa721eefcf14beb482.png)
.
P.S. По ссылке у меня картинки не открываются.
-- Пн апр 02, 2012 12:53:34 --Что-то у меня ступор. Не могу понять, что не так в "жадном" алгоритме:
1) Берём 1-ю книгу и сравниваем с остальными. В результате у нас получается правильная стопка (=цепь), в которую входит 1-я книга. Откладываем правильную стопку в сторону.
2) С оставшимися книгами осуществляем ту же операцию, пока не исчерпаются все книги.
По построению книги, которые стоят в начале каждой цепи (внизу каждой стопки), образуют антицепь. Значит, по теореме Дилворта (хотя и без теоремы понятно, что две книжки из антицепи никогда в одной цепи не окажутся) уменьшить число цепей нельзя.
Получается по осторожным подсчётам
![$O(n^2 \log n)$ $O(n^2 \log n)$](https://dxdy-03.korotkov.co.uk/f/a/a/9/aa9870286704e5b13ffbef6fbdd552a282.png)
. По неосторожным —
![Smile :-)](./images/smilies/icon_smile.gif)