Блог пользователя dkirienko

Автор dkirienko, 14 лет назад, По-русски

Вероятно, кому-то это будет интересно...

Московская командная олимпиада школьников по программированию состоится 14 октября. Олимпиада является отбором на ВКОШП. Регистрация команд (и заочный отборочный этап) будут проходить до 8 октября.

Сайт олимпиады, где опубликована вся информация и открыта регистрация:

http://olympiads.ru/moscow

  • Проголосовать: нравится
  • +38
  • Проголосовать: не нравится

»
14 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

Как решается задача B (Лига А) быстрее, чем за N log N?

  • »
    »
    14 лет назад, скрыть # ^ |
    ← Rev. 2  
    Проголосовать: нравится +2 Проголосовать: не нравится

    В задаче требовалось, фактически, посчитать чётность перестановки. Что такое чётность перестановки? Это чётность N - K, где N — количество элементов в ней, а K — количество циклов. А на циклы разбить перестановку можно за O(N).

    Альтернативное решение: идём по перестановке и если видим элемент не на своём месте, то свапаем его с элементом, стоящим на его месте. Считаем количество сделанных свапов. Фактически это сортировка за O(N) обменов.