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

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

Интересная ситуация случилась у нашей команды на полу финале. После слива четверть финала мы не рассчитывали на хорошие результаты, но хорошая тренировка дала о себе знать.


Начало (первые пятнадцать минут) контеста мы внезапно заложали. Несмотря на то, что договаривались не пускать кодера на первую задачу.

После того как мы сдали вторую задачу мы были третьими. http://acm.math.spbu.ru/~sk1/download/neerc2011/00-42.png

Потом я придумал быстрый рандом по I, и мы сдали третью, и опять поднялись до топ-3.

И, наконец, отдебагав D и прочитав E c пятью задачами мы  опять заняли горделивую третью строчку.

Тут мы и испугались, боясь повторения четверть-финала, где last success для нашей команды был примерно 2:30.

В итоге нас подвела задача K, на которой у нас были как и RE 1 на тесте из условия, так и предсказанный stackoverflow из-за отсутствия прагмы.
(А всё почему? А потому что сборы мы писали в gedit'е UPD geany под linux, и как писать прагму в вижаке никто не знал, хотя мы понимали что стандартного стека не хватит. И еще мы не следили за попытками.)

15 минут штрафного времени. Да, наверно кто-то скажет что нам обидно, но это не так. Более того, на психологических тренингах нашей команды задача занять место строчкой ниже, чем WaterRogers, была объявлена задачей максимум, к которой мы и стремились. А именно, мы просто не хотели ехать на финал. В итоге мы получили то что хотели.

Наша команда MIPT The Sun (Chebanov, Rukhovich, Smirnov).
  • Проголосовать: нравится
  • +11
  • Проголосовать: не нравится

13 лет назад, # |
  Проголосовать: нравится -36 Проголосовать: не нравится
Я присоединяюсь к поздравлениям, но не могу не подивиться тому что в третьем абзаце "здали" через "з", а в четвёртом через "с"... Хотя, конечно, не суть важно... ;-)
13 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
Я вчера видел, что у тебя есть футболка 2007/2008 года. То есть для тебя это последний сезон, правильно? Как с таким раскладом вы не хотели выйти на финал?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    В команде перво-, второ- и третьекурсник. У автора поста только второй сезон, у остальных, соответственно, первый и третий. Так что времени как раз еще достаточно.
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      Значит, я перепутал. Я думал, справа от тебя сидел сокомандник (автор поста, то есть).


      Но ведь вы бы не расстроились, если бы все-таки прошли в финал? Ведь предугадать, что вы проиграете МФТИ 1, все равно было нельзя?
      • 13 лет назад, # ^ |
          Проголосовать: нравится +8 Проголосовать: не нравится
        Нет, не расстроились бы, конечно, но это бы изменило дальнейшие планы. Это бы означало необходимость сильно более активно тренироваться до весны (в том числе больше забивать на учебу, что не есть круто). А для меня потом скорее всего еще и пропуск пары сезонов (потому что если я так же случайно потрачу вторую попытку на втором курсе и при этом медальки у команды не будет, то это будет совсем фейл).
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        ArtDitel

        сумел сделать это))) Более того, он с точностью до 5 минут предсказал разницу в штрафе)))
      • 13 лет назад, # ^ |
          Проголосовать: нравится +26 Проголосовать: не нравится
        >> И еще мы не следили за попытками.
        Уточнение: делали мы это специально, ибо вероятность того, что лишняя пара попыток сильно испортит нам жизнь, крайне мала, а придумывать новые тесты дооолго...

         >>на психологических тренингах нашей команды задача занять место строчкой ниже, чем WaterRogers, была объявлена задачей максимум...
        Честно говоря, не помню такой установки (да и каких-либо вообще, кроме как хорошо выступить))) ),
        но еще год назад все были готовы к второму финалу Waterogers (из-за этого две сильные команды МФТИ пропустили этот год), и вплоть до начала полуфинального контеста данный факт считался
        неоспоримым.
        В любом случае, могу заверить всех: на самом контесте мы все сражались до конца, за себя и за команду, и были ЕДИНЫМ коллективом. Да, в финал мы не прошли, хотя имели наиреальнейшую возможность, но достижение такого единства и общей самоотдачи - это одна из САМЫХ ЦЕННЫХ вещей, которую можно получить, участвуя в чемпионате мира. Огромное спасибо нашей команде за этот контест и вообще за то, что вы есть!
13 лет назад, # |
  Проголосовать: нравится +92 Проголосовать: не нравится
Помню что на полуфинале 2005-2006 года наша команда тоже не знала как увеличить стек на C++, в итоге halyavin закодил маленькую ассемблерную вставку и переместил указатель стека на конец 40-мегабайтного массива :)
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

    Ассемблерные вставки тогда были разрешены? На школьных олимпиадах их, кажется, запрещают.

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Вот это круто:)
  • 13 лет назад, # ^ |
      Проголосовать: нравится +10 Проголосовать: не нравится
    Я и до сих пор не знаю синтаксис этой прагмы ;).
    Ассемблерная вставка, кстати, не только перемещала указатель стека на массив, но и возвращала его обратно после выхода из функции.
    • 13 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится +1 Проголосовать: не нравится

      Покажите пожалуйста такую вставку. Даже не знал про такую возможность в ассемблере, заинтересовала)

      • 13 лет назад, # ^ |
          Проголосовать: нравится +12 Проголосовать: не нравится
        там было что-то вроде

        __asm {
          pushad;
          mov [some_global_var],esp;
          mov esp,[some_other_global_var];
          call solve_without_args
          mov esp,[some_global_var];
          popad;
        }
        
        • 13 лет назад, # ^ |
            Проголосовать: нравится +6 Проголосовать: не нравится
          Удивила строка
          mov esp,[some_other_global_var];
          Не знал, что содержимое регистра esp можно поменять просто командой mov O_o.
          И вообще, mov-ом можно поменять содержимое любого регистра? ip например.

          • 13 лет назад, # ^ |
              Проголосовать: нравится +6 Проголосовать: не нравится
            Любого, кроме cs, eip, eflags, floating-point и SSE регистров, регистров состояния fpu/SSE (ну еще есть системные регистры вроде TR, GDT, LDT которые нельзя изменить командой mov, но они изменяются только в паре мест ядра).

            Но вообще стоит понимать, что команды mov eax,1 и mov ds,ax - это на самом деле две совершенно разные команды, которые просто называются одинаково.
13 лет назад, # |
Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

очень печальная история...
но вам, наверное, все таки было бы интереснее съездить в этом году в Польшу, чем в следующем в Питер...
хотя к следующему году вы сможете стать еще сильнее и всех порвать на финале мира!

  • 13 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Зря минусуете - это чистая правда))) Хотя и про Польшу тоже...
13 лет назад, # |
  Проголосовать: нравится +78 Проголосовать: не нравится
Извините, но вот это сильно режет глаз:
>> А именно, мы просто не хотели ехать на финал.
Читаем правила, раздел "Team composition", самый первый пункт к требованиям, которым должен удовлетворять каждый участник:
>> A student must be willing and able to compete in the World Finals.

Таким образом, видно, что ваша команда по идее должна быть дисквалифицирована :)
13 лет назад, # |
  Проголосовать: нравится +19 Проголосовать: не нравится
не переживайте, команда, которой вы проиграли 15 минут, тоже получила бревно за стэк оверфлоу в К, и кстати прагму писать им было лень, просто перепослали тот же код уже под гнуси. А вообще, мне лично очень странной кажется ваша идея писать код под одним компилятором и посылать под другим, неожиданные ошибки могут начать проявляться.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Неожиданностей обычно ещё больше, если "домашним" компилятором использовать GNU, а посылать на MSV C/C++
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      именно это Гоша и делает, хотя положительный эффект тоже был отмечен на одном контесте
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        На полуфинале мы в вижуалке и писали, и посылали. А на тренировках писали и посылали под g++. Обычной среды, в которой мы тренировались, на полуфинале не было, а вижуалку все трое более-менее любят.
        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

          Как я понимаю, gedit - обычный текстовый редактор. Настроить автоотступ и тд ещё можно,  но компилировать - окольными путями.


          Как вам удалось его настроить, чтобы не лазить каждый раз в терминал и не вводить огромную строку?
          • 13 лет назад, # ^ |
              Проголосовать: нравится +5 Проголосовать: не нравится
            Он перепутал, мы не в gedit писали, а в geany. Это уже вполне нормальная легкая IDE.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            я помню разок все же смог настроить gedit на удобное компилирование - там можно на сочетание клавиш ставить выполнение баш скрипта, ну а там уже можно написать что душе угодно...
13 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
Поздравляю, Ваня сотоварищи)
13 лет назад, # |
  Проголосовать: нравится +37 Проголосовать: не нравится
"Тут мы и испугались, боясь повторения четверть-финала, где last success для нашей команды был примерно 2:30."
У Короткевича на 5-часовых контестах такое на постой, но он не стисняеся)

13 лет назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

Очередное нытъё, только стоит проиграть, как сразу - не очень то и хотелось. Сейчас еще Кустов придёт, скажет мол "Не очень то и хотелось занимать место выше 66", да и вообще организаторы что-то не туда сделали, и ему плевать на организаторов, и на всех кто считает не так как он.

Кстати, не увидел в первом посте "Историй тренировок", ни одной.

Единственное почему теме стоит жить - комментарий Попелышева про чит Халявина

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    всем давно известно, что тактика команд МФТИ заключается в том, что тренировки не_нужны
    • 13 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится
      И при этом ведете эти самые тренировки(Пусть и только у MIPT 1, а не у 2,3,4). К чему бы это?
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        ну смотри, команда, которая не тренировалась, заняла на финале 13 место, а эта только 42-ое :-)
  • 13 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится
    Историй действительно мало. А именно предложение перед последней ссылкой в скобках, раскрывающее суть ситуации. 

    Безусловно, чит Халявина  это нечто, но я надеюсь, что многие вынесут из этого поста некоторую мораль относительно тренировок в средах аналогичных тем, с которыми придется(sic!) встретиться на соревновании.

    Смысл первого абзаца остался скрыт от меня даже при повторном прочтении. При чем тут организаторы? Что они не туда сделали? Что именно он(Кустов) считает? Видимо здесь подразумевается команда Tomsk PU 1 (Khaustov, Alipov, Savvinov). Может я просто чего-то не знаю?
    • 13 лет назад, # ^ |
        Проголосовать: нравится -14 Проголосовать: не нравится
      Ну, я думаю, что тут имелось ввиду, что в случае почти любой неудачи, Хаустов винит в этом не себя, а жюри, возможно я неправ, но, судя по его комментариям на кфе, это так.
13 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится
Щас вы хоть знаете, как прагму писать?