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

Автор MikeMirzayanov, 14 лет назад, По-русски
В этом топике я бы хотел поднять вопросы вокруг Codeforces Beta Round #1. Что вам понравилось? Что не понравилось? Что показалось неудобным? Что вы видите можно изменить, чтобы сделать участие более комфортным? Какие у вас были проблемы во время участия? Интересно ваше мнение по поводу интерфейса.

Просьба не отписываться ярко по поводу (не)доступности сайта с адреса http://codeforces.com/ (я рекомендовал использовать http://codeforces.ru:8081/). Я догадываюсь в чем проблема. Связка Apache Virtual Hosts + AJP Connector то ли настроена кривовато, то ли работает плоховато. Короче, это я исправлю.

 Жду комментариев. И, конечно, приглашаю на Codeforces Beta Round #2.

Еще момент. Мне бы хотелось, чтобы кто-то взял на себя разбор задач прошедшего раунда. Это надо сделать на русском и английском языках. Разумеется вы должны сдать задачи либо на контесте, либо в дорешивании. Если у вас есть желание это сделать - пишите в комментариях. Ваш пост будет опубликован на главной и позже доступен по спец. ссылке из контеста.
  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Поиск по участнику в таблице результатов это круто. Только не совсем понятно, зачем это скрывать. Я довольно случайно наткнулся.
Было бы неплохо ещё какую-нибудь статистику по задачам. Например, на странице с задачами и в таблице результатов. Но это и так понятно.
Вообще, впечатление положительное. Ничего лишнего, всё логично расположено.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Не плохо бы добавить возможность смотреть коды своих отправленных задач.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    И неплохо было бы добавить возможность смотреть решения всех участников после контеста. 
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
могу сделать разбор задачи... ;-)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
например, С... хотя годится любая
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Меня сегодня слегка вывела из себя слишком уж плавная анимация меню сверху... ты все силы прикладываешь, чтобы быстрее что нить сделать, а она так подло меееедленно переезжает.Может вообще её от туда убрать. Личшие мелькания перед глазами во время контеста не к чему.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    У меня эта подсветка бегает достаточно быстро, но пускай лучше перемещается прыжками, или убрать вообще. Абсолютно бесполезный прибамбас.

14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
По условию первой задачи незачёт: не упомянуто условие, что границы плит должны быть парралельны сторонам площади. Иначе задача усложняется: 1 11 10 можно покрыть одной плиткой, повернув её.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Да, верно. Надо было написать об этом по-раньше. Будем внимательнее.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
При первой посылке на задачу B получил вердикт "Решение зависло на тесте 9" (или как-то так). Видимо, такой вердикт означает, что решение простаивает (например, ожидает user input и т.п.)?
Т.к. у меня такого быть не могло, перепослал (правда, убрал создание потока). Прошло. Вернул создание потока. Снова прошло. Мог такой баг произойти из-за перегрузки тестирующей системы?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Вообще, в плане вердиктов привычнее пользоваться английской версией. "Решение полное" тоже как-то не сразу очевидно, что значит
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Привычнее ведь не значит лучше ?
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Не значит. Однако, не факт, что глобально стоит переходить на русские термины. Ведь повсюду в программировании русских терминов просто нет и это даже в чём-то плюс.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Напишите номера посылок.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Я не перестаю удивляться языку, который для решения простой олимпиадной задачи побуждает создавать потоки.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Создание потока у меня было в шаблоне, потому что в Java до 1.6 стек, выставленный в командной строке, мог использоваться только во вновь созданном потоке. Не язык "побуждает" создавать потоки, а желание нормально использовать стек.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А как в GNU C++ вводить/выводить long long? Я попробовал через "%lld", но WA на первом тесте. Заменил на "%I64d" и выбрал Visual C++ -прошло.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Когда был на "дорешивании" и сдавал задачу B заметил интересную особенность "пряшающей точки". Она периодически взмывала вверх, не долетая до низа.

От таких "неожиданных маневров" сложилось впечатление, что точка - вполне свободное существо :)

Так же заметил, что иногда в столбике "Вердикт" (во время проверки) проскакивало сообщение "Проверка на 6 тесте", хотя тут же появлялось сообщение "Неправильный ответ на тесте 3".

Ajax глючит?

  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Не то что бы глючит. Тестирование производится не последовательно по тестам, а пачками если есть свободные инвокеры. Поэтому даже если ваше решение падает на тесте 3 оно может тестироваться на тесте 6. Хотя я поправлю, чтобы это было незаметно.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Обнаружил, что в программах на Python подключение модуля re вызывает Runtime Error. Это несколько... неожиданно. 

Вообще со скриптовым языком есть проблема, потому что он не компилируется, а запускается. Это приводит (на acm.mipt.ru например) к тому, что я получаю RE, а не CE и приходится гадать, что именно не понравилось тестирующей. Мне кажется, возможность запуска на сервере с пользовательским тестом (как на четвертьфинале в Саратове) решила бы эту проблему. Или гарантированное совпадение первого теста и теста из условия.

14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Неплохо бы посылать напоминания перед турниром на e-mail. Надеюсь, что тогда я не пропущу по невнимательности вторую бету, как первую.
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Здорово :) Мне понравилось :) Правда проспал половину ))))

Хоть я и колхоз, но на дорешивании с плитками задачку бабахнул :) Будем совершенствоваться потихоньку )

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Очень удобный интерфейс. Только в ranklist'е хочется больше информации. Город, страну, например. Возраст тоже был бы интересен.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
хорошая система. в принципе, главное в подобных штуках - это отсутствие глюков и тормозов в плане web. а внешний вид, могу лишь сказать, что: может быть даже и не следовало переводить вердикты по посылке задачи, очень привычны "Accepted", "Wrong Answer" и прочие... во всяком случае "Полное решение" как-то странно выглядит. еще можно статистику сделать, или совместить ее со списком задач, как на sgu. то есть, количество посланных, сданных и неверных решений, в большинстве случаев Ranklist смотришь во время контеста, в основном, что бы оценить сложность задач.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    А по моему "Полное решение" смотрится лучше. Что бы я изменил, так это выравнивание аваторов напротив сообщений по верхнему краю
    • 14 лет назад, # ^ |
        Проголосовать: нравится +12 Проголосовать: не нравится
      Так ведь привычные вердикты Accepted и Wrong Answer никуда не делись.
      Переключи язык интерфейса на английский (справа-сверху) и получишь Accepted :)

      В этом плане считаю, что Полное решение вполне имеет право на жизнь в русском интерфейсе.
      • 14 лет назад, # ^ |
          Проголосовать: нравится -12 Проголосовать: не нравится

        На topcoder и acm.timus.ru бывало такое, что решения, к которым существовали контрпримеры, засчитывались. "Полное решение" может означать только, что оно прошло все приготовленные тесты, но не все тесты, которые разрешены условием задачи.

        'Accepted' = 'принято' или 'зачтено'

        • 14 лет назад, # ^ |
            Проголосовать: нравится -12 Проголосовать: не нравится
          Ну даже не в этом дело. Всем понятно, что решение не идеальное, а условно идеальное. Просто "Полное решение" какое-то безличное. "Ваше решение полное" звучит кривее, зато сразу понятен вердикт. А так может показаться, что "решение полное ...".
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
страница с таблицей результатов периодически обновляется, хотя контест уже завершен.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Да, было бы удобно на ней поставить чекбокс чтобы можно было запрещать авто-обновление даже во время контеста.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Что-то непонятное произошло с таблицей результатов Beta Round #1. Несмотря на то, что мне были засчитаны полные решения задач А и B, сейчас я вижу сообщение "Ошибка времени исполнения" в разделе "мои посылки". Никто SQL-инъекциями не баловался?) Временной лимит был изменен с корректировкой на используемый язык? Или это просто глюк?

  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Это я делаю сумасшедшие эксперименты по перетестированию контеста. Просьба сохранять спокойствие :)
14 лет назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится
mod_proxy по ajp с томкатом не очень работает да... http://oecdo.sgu.ru/ вроде бы с такими настройками вроде бы нормально работает:
томкат:
<Connector port="8009" protocol="AJP/1.3" maxThreads="900" connectionTimeout="15000" backlog="100" redirectPort="8443" URIEncoding="UTF-8" />

апач:
    ProxyPass / ajp://localhost:8009/ smax=40 ttl=300


Но подумываем переходить на nginx + jetty (соотвественно без AJP)
  • 14 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится
    сорри описался 
    "http://oecdo.sgu.ru/ вроде бы с такими настройками вроде бы нормально работает
    надо понимать как 
    "с такими настройками оно работает хорошо"
    (503 ошибки уже с полгода не было(ну собственно с введения этих настроек))

    проблема там в зависающих коннектах ajp была видимо.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Спасибо, посмотрю. В моем случае проблема проявила себя только под нагрузкой - в то время как при штатной работы системы связка работала хорошо.
»
4 года назад, # |
  Проголосовать: нравится -15 Проголосовать: не нравится

It's been 10 years now, and not even a single comment or like except this one.
Strange.

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится +9 Проголосовать: не нравится

    Even more strange is the fact that I saw this post exactly 46 hours after its first comment has been posted during these 10 years.

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

Current editorial round leads me to Problem A of this contest. Turns out to be such a legendary round.