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

Автор Sammarize, 13 лет назад, По-русски
Поскольку никто не идеален, никакое жюри не может точно оценить сложность задачи. Часто случается, что предполагаемая стоимость задачи не соответствует реальной. Бывает даже, что более дорогая задача оказывается статистически более простой (например, SRM 504.5). Поэтому имеет смысл подумать о возможности определить стоимость задач апостериори, по результатам контеста.

Подумаем, какую статистику о задаче можно использовать при подсчёте стоимости задачи.

Количество сдавших задачу? Безусловно, количество сдач отражает интеллектуальную и техническую сложность задачи.

Статистика времени сдачи? Пожалуй, нет. Если есть какой-то заранее заявленный порядок задач по сложности, то, как показывает опыт, большинство участников начнут решать с самой простой задачи, и тогда использование статистики времени сдачи опирается на мнение авторов контеста о сложности задач. Если нет, то очень часто бывает, что вначале контеста много участников сдаёт задачу, которая первой была сдана кем-то. Тогда как для очень сильных участников бывает несколько одинаково простых для них задач, которые весьма разные по сложности для большинства других участников. И получится, что быстрее всего будут сдавать не самую простую задачу, а ту, которая первой будет кем-то сдана.

Количество попыток? Пожалуй, да. Статистика количества попыток говорит о том, насколько сложно написать задачу без ошибок. Конечно, важна при этом полнота набора тестов, на котором задача тестируется сразу.

Теперь подумаем, как должна зависеть стоимость задачи от того, сколько человек её сдали. Очевидно, что задача, сданная одним человеком, гораздо сложнее задачи, которую сдали десять человек. Разность в сложности между такими задачами далеко не такая, как между задачами, сданными десятью и двадцатью людьми. Скорее она примерно такая же, как между задачами, сданными десятью людьми и ста. Соответственно, кажется естественным функция вида 1/k, где k – количество сдач.

При этом есть две проблемы, связанные с такой формулой. Во-первых, если одну из задач на контесте решит только один человек, а все остальные – хотя бы 10, то человек, решивший уникальную задачу, скорее всего выиграет: 0.1 – очень мало по сравнению с 1. Нормально ли это? Наверное. Ведь единственного человека, решившего самую сложную задачу, пожалуй, можно назвать сильнейшим.

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

Кроме того, возможна следующая ситуация. В конце контеста две примерно одинаково сложные задачи никто не решил, и несколько сильных участников пытаются решить кто-то одну из этих задач, а кто-то другую. И в результате одну задачу решит один человек, а другую – три или четыре. И получится, что человек, решивший уникальную задачу, выиграет с большим отрывом, несмотря на то, что несколько других участников решили примерно такую по сложности задачу.

Таким образом, фактор случайности намекает на то, что не должен быть такой разрыв по стоимости между задачами, решёнными одним человеком и решёнными 2-5 людьми.

С другой стороны, задача, которую решили 100 человек, действительно вдвое сложнее, чем задача, которую решили 200. На таких задачах фактор случайности нивелируется за счёт большого количества испытаний.

Есть несколько способов борьбы с этой проблемой. Например, можно поделить 1 не на k, а на медленно растущую функцию от k, например, корень (четвёртой степени) от k, или даже ln k. Или можно взять функцию 1/(k+10). Более того, можно даже сделать задачи популярности от 1 до 5 одинаковой стоимости. Например, стоимость задачи может быть определена, как min(1/ln(5), 1/ln(k)), или 10-(2, log_2(k)).

Теперь подумаем, как должна стоимость задачи зависеть от числа попыток, которые понадобились участнику для того, чтобы сдать задачу. Очевидно, стоимость задачи не должна бесконечно падать с увеличением количества попыток, потому что решённая задача – это всё же решённая задача, сколько бы попыток не было на неё потрачено. Иначе может получиться, что через некоторое количество попыток пропадёт смысл сдавать задачу – это неправильно со всех точек зрения. Какая часть задачи не может быть съедена штрафными попытками – подлежит обсуждению. Мне лично нравится коэффициент 2/3.

Надо заметить, что между + и +1 есть существенная разница, а вот +7 и +8 – это почти одно и тоже. Поэтому чем дальше, тем меньше баллов надо отнимать за штрафную попытку. В связи с этим, можно, например, вычитать за первую штрафную попытку 1/6 стоимости задачи, а за каждую следующую – вдвое меньше, чем за предыдущую.

Таким образом, как пример вышенаписаного, можно предложить следующую формулу стоимости задачи. За сданную задачу даётся, во-первых, неотъемлимая стоимость задачи в размере х = min(1/ln(5), 1/ln(k)), где k – количество сдавших эту задачу участников. Кроме того, даётся бонус за чистоту в размере x/2^t – где t – количество попыток, с которых была сдана задача.

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

13 лет назад, # |
  Проголосовать: нравится -8 Проголосовать: не нравится
шрифт поменяй, пожалуйста

читать просто невыносимо =/
13 лет назад, # |
Rev. 3   Проголосовать: нравится -28 Проголосовать: не нравится

1/k мне не кажется очень естественной, потому что, например, в соревновании, где принимают участие 500 участников и есть 2 примерно одинаково сложные задачи, но одну в конце контеста сдал один участник, а вторую-два, то те, кто сдал вторую, окажутся в проигрышном положении(хотя задачи и одинаковы примерно по сложности). Лучше сделать что-нибудь типа p/ln(k) или p/sqrt(k), где p-общее количество участников.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    ну от множителя p то  точно ничего не зависит, а про ln/sqrt в статье есть тоже
  • 13 лет назад, # ^ |
      Проголосовать: нравится -12 Проголосовать: не нравится
    Виноват, не дочитал:)
13 лет назад, # |
Rev. 6   Проголосовать: нравится +3 Проголосовать: не нравится

Вообще все сходится к тому, что если задачи (вдруг) оказались примерно равными по сложности, то постфактум оценка для них не очень подходит из-за того, что большее кол-во людей решало одну(например первую из двух в списке)


Понравилась идея насчет уменьшения стоимости "брёвен"


Еще мысли вслух: если оценивать сложность задач так вот, постфактум, то время должно быть неким дополнительным показателем ( как в ACM, GCJ), а не вычитать баллы за задачу, иначе всё будет слишком много зависеть от порядка сдачи задач (особенно будет касаться, опять же, примерно одинаковых по сложности)


Если говорить о соревнованиях с моментальной проверкой, то там мне кажется такое вообще не нужно оценивание задач по-разному, т.к. если ты решил что-то сложное и не решил простое, то может ты не так уж и крут? Понятно почему это не касается соревнований с проверкой в конце.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    В то же время, если контест писало малое количество человек(<30), то уже оценка 1/ln(10+k) неправильная. А правильной будет где-то 1/ln(p/100+k), где р-количество людей
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Ну "правильность" это понятие слишком субъективное. Как организатор придумал, так и правильно:)


      По существу: Я не против включения p в формулу и я согласен, что такие магические константы как 10 почти с гарантией лучше заменить на некоторую функцию от p(вопрос какую). Когда я говорил, что от него ничего не зависит, я имел в виду ваши предыдущие примеры формул.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Хотя, с другой стороны, включать кол-во участников не очень хорошо, потому что не должна меняться стоимость задачи от того, что в контесте вдруг появилось несколько статистов(не решали вообще или не дошли до рассматриваемой задачи). представляете себе, обойти на доли баллов, из-за того, что вот эти пятеро сегодня нажали кнопку "регистрация" и даже не читали задачи для топа
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        невнимательно прочитал, sorry
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Ну хорошо, человек порешал самую легкую задачу. При этом повлиял на стоимости сложных задач, причем не важно, что на стоимость, важно, что поменял разницу между ними.
          • 13 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

            да-да, это понятно
            значит надо как-то изменить определение коэффициента p, связав его с конкретной задачей)
13 лет назад, # |
Rev. 2   Проголосовать: нравится +28 Проголосовать: не нравится

Интересно было бы посмотреть на результаты каких-нибудь реальных контестов, пересчитанные по подобной схеме.
13 лет назад, # |
  Проголосовать: нравится -11 Проголосовать: не нравится
В то же время надо сказать, что все-таки такое распределение по задачам-тоже неправильно. Много будет зависеть от фарта, в общем-то, от того, что ту задачу, которую начнешь решать ты, никто другой решать не начнет. 
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    ну преимущество сдачи этой задачи не слишком большое все равно получается, если брать формулы, например, с ln
    • 13 лет назад, # ^ |
        Проголосовать: нравится -7 Проголосовать: не нравится
      Смотря где и когда. Если на какое-то определенное время будет предложено большое количество задач(больше, чем могут решить участники), при этом задачи не самой запредельной сложности-эффект иметь будет. Например, помню задачу прошлого года с саратовских сборов с 11-часового контеста, на котором было предложено 26 задач. Одну из задач никто не решил, хотя решалась она простейшим бинпоиском, нужно было это лишь показать. Представьте, что кто-то бы эту задачу сдал на последнем часу. И, благодаря фарту, поднялся бы на одно из первых мест. 
      • 13 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится
        Надо было добавить, что показывалось это не сложно, просто все тупили.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        показать=доказать?
        • 13 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится
          Ну, типа того:) Я все-таки предпочитаю различать эти понятия, так как, на мой взгляд, доказать-это строгое математическое определение, следовательно, все при доказательстве должно быть строго и записано соответствующим образом. А показать-это понять и объяснить, почему это правильно(не обязательно строго, но чтобы все поняли, что так оно и есть и никаких противоречий не будет)
          • 13 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

            ок :)
            а то я уж подумал, что опять у тебя промелькнуло словечко из саратовского жаргона, типа как "палево" ;)
13 лет назад, # |
  Проголосовать: нравится +14 Проголосовать: не нравится
ИМХО, сюда было бы круто прикрутить рейтинги участников.
13 лет назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

1) Можно провести нерейтинговый контест по схеме, которую выберите, может два, и тогда жури и сами участники смогут сделать вывод относительно пригодности такой системы.

2) Замечание правильное, поэтому нужно функцию, которая не будет стремительно расти если количество решивших будет уменьшаться до 1.

13 лет назад, # |
  Проголосовать: нравится +35 Проголосовать: не нравится
достаточно интересный подход, потенциал у этой статьи есть

но, честно говоря, буквоцифры вида 1/ln(k) остались для меня просто матсимволами

автору, во-первых, рекомендую использовать TeX, ибо формулы, в которых с первого взгляда ясно, где числитель, а где знаменатель, намного привлекательнее и понятнее

во-вторых, обязательно добавить две таблицы

первая таблица должна иметь следующий вид:

 Количество сдавших задачу Количество баллов за эту задачу
 1 a
 2 b
 3 c
 5 d
 10 e
 20 f
 30 g
 50 h
 100 i

числа и буквы заменишь на нечто более адекватное :) вторая таблица должна быть такой:

 Попытка сдачи задачи Бонус за чистоту
 + a
 +1 b
 +2 c
 +3 d
 +5 e
 +10 f

разумеется, бонус за чистоту даётся в некотором предположении, например, что сдавший получил за задачу 1 балл


теперь критические мысли, которые появились у меня во время чтения статьи:

1. количество баллов, равное 2.49731 - это несерьёзно; думаю, что лучше умножать всё на некоторое 10k, и выводить, к примеру, 2497.31 баллов

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

объясню на примере: пусть в NEERC участвовало 200 команд; возьмём из них каждую пятую - получим 40 команд

сохранится ли корреляция результатов? не получится ли так, что команда (по исходным данным) с 10-го места прыгнет на первое, а с 20-го на 50-е, к примеру?

3. "скорость" участника, то есть быстроту сдач участником задач, имхо, нужно учитывать, поскольку более быстрый участник всё равно сильнее более медленного - он быстрее думает, быстрее пишет, быстрее решает

пример - некоторый халявный контест, когда Sammarize решил все задачи за 15 минут, а JKeeJ1e30 тоже решил все задачи, но за 2 часа

Sammarize забыл убрать какой-нибудь дебаг при посылке на 3-ей минуте и получил шпалу, а JKeeJ1e30 сдал всё чисто

результат налицо, Sammarize оказался внизу таблицы :) имхо, это неправильно
  • 13 лет назад, # ^ |
      Проголосовать: нравится +9 Проголосовать: не нравится
    все никнеймы вымышлены, и любая их связь с действительностью является чистой случайностью =)
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Забавно.. этот пост с юмором получил большее число плюсов, чем пост от того же человека но с очень конструктивными вещами по топику и тоже не лишённым юмора.
  • 13 лет назад, # ^ |
    Rev. 5   Проголосовать: нравится +4 Проголосовать: не нравится

    Ну и почему бы и нет? Дали бы покрасоваться наверху таблицы:) Хоть в каком-то типе контестов у меня есть шанс победить:D


    Если серьезно, то все-таки +10 и +50 за задачу различается. +10-это, возможно, мелкий баг, который еле-еле нашли, тогда как +50-это явное пихание. Так что, имхо, идея про функцию мне нравится больше.
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Вот пункт 2 я по-русски сказать и не смог видимо.
    Согласен, что важно, чтобы при убирании/добавлении команд/участников относительные результаты оставшихся/имевшихся не менялись
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    1. Это уже вопрос оформления.

    2. Возможно, это имеет смысл учитывать, но не совсем понятно, как.

    Есть одна идея: можно считать количество сдач и статистику штрафных попыток не для всех участников а, скажем, для первых 20/50/100 по какому-нибудь тупому параметру, например, по числу решённых задач, а потом по алфавиту. Тогда слабые участники, творящие какой угодно треш, никак не повлияют на адекватность результатов.

    3. Да, ты прав, время сдачи всё же надо учитывать наравне со временем. Например, можно за первую штрафную попытку прибавлять к штрафному времени 40 минут, за вторую - 20, за третью - 10, и так далее. Прибавлять время сдачи каждой задачи к штрафному времени мне не нравится так же сильно, как и идея равномерно в течение контеста уменьшать стоимость задач - почему лёгкий тупняк в начале контеста должен вредить гораздо больше, чем лёгкий тупняк в конце? Лучше уж как на GCJ, время последней сдачи.

    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      сути по пункту 2 я так и не понял: как это поможет, что вообще за каша получится и не перегробишь ли формулу

      по пункту 3 - опять-таки, идеи сырые и сильно спорные

      вообще рекомендую пообщаться со Снарком, думаю, что у него тоже есть несколько интересных идей по оригинальному формату соревнований
      • 13 лет назад, # ^ |
          Проголосовать: нравится -18 Проголосовать: не нравится

        Я был на сборах и общаться со снарком я не хочу, ну разве что письменно) Кроме того, его идеи мне не нравятся.

        2. Почему же каша? Всё же ясно. Просто надо учитывать топ-100 адекватных участников. Чтоб уж совсем просто, можно учитывать топ-100 по рейтингу.

        3. Конечно сырые, только что же придумал. А если спорные - спорь, обсудим, может, что-то хорошее родим. Ты согласен с моим мнением или ты считаешь логичным, что лёгкий тупняк в начале контеста приводит к существенно большим проблемам, чем в конце?

        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

          честно - мне ничего не ясно

          во-первых, у меня (и у двух десятков, читавших эту статью) минимум желания вычислять натуральные логарифмы в минус первой степени от натуральных чисел, чтобы оценить убывание количества баллов

          во-вторых, к каждой идее (это ответ на комментарий ниже) нужен хороший наглядный пример; тебе нужно убедить всех, что это действительно грамотная мысль, правильный подход, который имеет место быть, иначе никто даже вникать не станет в суть дела

          мне нифига не очевидно, что выгоднее: решать гроб или две-три халявы? тратить ли время на халяву вообще? будет ли с такой системой несколько тактик решения задач, как на codeforces или topcoder, или будет одна основная тактика, как acm-icpc (от простых к сложным)? я уверен, что ты сам не знаешь ответы на эти вопросы

          ещё раз повторюсь, что идея оценки сложности задач постфактум нова и интересна, и если идеи облачить в некоторую форму и выдать в виде прототипа нового формата соревнований, то это будет НАМНОГО интереснее, понятнее и привлекательнее нескольких неопределённых мыслей

          посмотри, как описан формат соревнования тут: http://acm.math.spbu.ru/~snark/vekua/index.cgi?data=2011/vekua_ind&year=2011&class=vekua2011

          в общем, тебе надо просто определиться, что ты хочешь получить в результате предоставления сообществу codeforces результатов своего исследования: несколько комментариев из серии "вроде ничётак" в ответ, или экспериментальную модель, которую всеми силами будем вгонять в разумные рамки опытным путём
          • 13 лет назад, # ^ |
              Проголосовать: нравится +13 Проголосовать: не нравится

            Ты не понял. Всем, кто знает матан хотя бы на 3, совершенно необязательно вычислять логарифм, чтобы оценить убывание количества баллов.

            Конечно я сам их не знаю. Это ведь только идеи.

            В одиночку составить грамотную модель - это слишком сложно для неоплачиваемого труда в день перед защитой диплома =)

            Я хочу серьёзного ОБСУЖДЕНИЯ этого вопроса. И ещё отчасти я хочу заронить в народные массы мысль о возможности такого способа оценки - ведь о таком почти никто никогда не слышал.

  • 13 лет назад, # ^ |
      Проголосовать: нравится -13 Проголосовать: не нравится
    А таблицы - это, ИМХО, глупость. Формула значительно нагляднее для всех, кто хоть чуть-чуть учил матан.
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +9 Проголосовать: не нравится

      спорим, у меня +33 в основном из-за предложения добавить таблиц? =)

      у меня тройка по матану, но думаю, что не каждый крутой математик может численно вычислить "min(1/ln(5), 1/ln(k))" при k = 10 в уме с точностью до 5 знаков после запятой
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Численно-нет в голове плохой калькулятор. А так, безусловно, может, при том далеко не самый крутой-1/ln(10). 
        • 13 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится
          а нужно именно численно, иначе какой смысл? или тебе будет достаточно того, что ты получил 1/ln(5)+1/ln(16)+1/ln(42) балла и занял 36-е место? =)
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Ну табличка, как иллюстрация формула, ИМХО удобна(чтобы не читать ln 10 в уме, проверить себя быстро), а вот если только таблица, это мне кажется не айс, таблицу же не будете для всех промежуточных делений делать,
      • 13 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится
        "не каждый крутой математик может вычислить "min(1/ln(5), 1/ln(k))" при k = 10 в уме"

        Какого вы низкого мнения о математиках... По идее это должен уметь любой выпускник средней школы ;)
        • 13 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится
          агрх, хватит меня троллить

          сейчас поправлю коммент
        • 13 лет назад, # ^ |
            Проголосовать: нравится +10 Проголосовать: не нравится
          Какого вы высокого мнения о выпускниках средней школы... :)
      • 13 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится
        Дело же не в конкретном значении. А в идее, что при, например, удвоении числа решивших, стоимость задачи падает на единицу.
13 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Для того, чтобы порядок задач не влиял на статистику решений, нужно для каждого участника сортировать список задач в случайном порядке; по-идее это не должно иметь каких-либо серьезных негативных последствий.

Правда, от этого будет мало толку, если учистники во время турнира (до блокировки задачи) будут видеть количество человек решивших конкретную задачу, ибо, как заметил Sammarize, очень многие будут вслед решать задачу, которую уже многие решили. Мне кажется, вполне достаточно было бы видеть своё положение и общее количество решенных задач каждым из других участников, без указания конкретных решенных ими задач.

Если применить всё это, то можно спокойно использовать статистику времени сдачи для оценки сложности задач; и мне кажется, что время сдачи здесь было бы самым адекватным показателем, делающий в том числе ненужным показатель количества попыток сдачи.
13 лет назад, # |
  Проголосовать: нравится -38 Проголосовать: не нравится
Зачем изобретать велосипед?
Есть отличная система подсчета очков TopCoder, которая в немного измененном виде используется на CodeForces. Главный ее плюс в том, что она проверена временем и действительно выявляет сильных участников.
Кому не нравится - участвуйте в ACM ICPC. Кому нужно разнообразие - в контестах на Snarknews.
  • 13 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +11 Проголосовать: не нравится

    Зачем тогда вообще что-то изобретать? Жили бы в пещере, зато все проверено временем бы было. Проверено миллионами лет и нашими далекими предками.

    Стоит вам напомнить, что и система КФ когда-то возникла, и система ТС. 
    • 13 лет назад, # ^ |
        Проголосовать: нравится +2 Проголосовать: не нравится
      видимо, всё-таки "предками", а не "потомками" ;)
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        спс, исправил.
        • 13 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится
          я просто сперва подумал, что так задумано; пытался найти логическую цепочку, но тщетно, и решил, что всё-таки баг =)
          • 13 лет назад, # ^ |
              Проголосовать: нравится -9 Проголосовать: не нравится
            Искать логическую цепочку в моих рассуждениях-это все равно что отправлять луноход на марс:). Но за попытку спасибо:)
  • 13 лет назад, # ^ |
      Проголосовать: нравится -65 Проголосовать: не нравится
    Я думал, что меня заплюсуют - вроде, количество участников CodeForces и TopCoder только растет, значит всем нравится система.
    Ан нет, анархистов тоже порядочно собралось. Придумывают причудливые правила, меняют рейтинговую систему, создают сайты с предложениями по улучшению, до митингов скоро дело дойдет. Короче, занимаются всем, чем угодно, кроме непосредственно решения задач и победы в контестах.
    Не соглашайтесь со мной, но я за стабильность. Как сказал Грызлов, парламент - не место для дискуссий. Если перефразировать на случай CodeForces, то CodeForces - не место для нововведений (кроме тех, что внедряет сама администрация). Не нравится - создай свой сайт с блэкджеком и шахматистками и проводи на нем контесты по любой системе подсчета рейтинга. Нравится - плюсуй мой коммент.
    Всегда был на стороне большинства в обсуждениях, минусовал Хаустова и Ферлона, а теперь сам оказался по ту сторону баррикад. Ну ничего, прорвемся!
    • 13 лет назад, # ^ |
        Проголосовать: нравится +25 Проголосовать: не нравится
      Вот так всю жизнь и будешь без своего мнения жаться к большинству. И ждать плюсики, которые так важны для тебя.
      Что касается темы, то меня тоже удивляет то, что каждый считает своим долгом что-то предложить администрации. Но это их право, пусть пишут, что хотят. Завидуй им, у них есть свое мнение!
      А поводу "Короче, занимаются всем, чем угодно, кроме непосредственно решения задач и победы в контестах"... Ну посмотри на то, сколько решаю я, решает Саша Куприн, решает Кирилл Василевский (а именно так зовут Ferlon'а). А теперь плавно кинь взгляд на то, сколько решаешь ты. И снова на наши результаты. А теперь снова на свои. Разницу видишь? Тебе ли нас в этом упрекать?
      • 13 лет назад, # ^ |
          Проголосовать: нравится -20 Проголосовать: не нравится
        Я тебя на Google Code Jam обогнал, так что про результаты тут мне не говори.
        Лично тебя не упрекал - вроде, ты нововведений не предлагал или я ошибаюсь?

        А то что я высказываю сейчас, это не мнение? Кажется, очевидно, что сейчас я в меньшинстве.

        Насчет плюсиков. Да, я люблю получать плюсики, потому что это показывает, что люди со мной согласны. Это безполезно, но приятно. Ты тоже любишь, но не признаешься нам ^_^

        Теперь еще раз про мнение. Что хочешь говори, но большинство чаще всего, хоть и не всегда, право. И если я согласен с большинством, то я согласен по своему мнению. Я против вашего с Ферлоном бреда про воспитание олимпиадных программистов теми мерами, которые вы предлагали, против твоих насмешек над новичками итд итп. Короче, у тебя свое мнение, у меня свое, и я не против. Если ты считаешь, что у меня нет мнения, то это опять же твое мнение.

        Хочешь подискутировать - отвечай мне, у меня как раз плохое настроение и я готов поругаться ^_^
        • 13 лет назад, # ^ |
            Проголосовать: нравится +4 Проголосовать: не нравится
          У толпы своя правда, у человека-своя. Ситуация. 10 человек отправляются в путешествие. 9 говорят, что десятый будет оплачивать им все. Так право большинство или нет? С точки зрения большинства-да, меньшинства-нет.
          • 13 лет назад, # ^ |
              Проголосовать: нравится -30 Проголосовать: не нравится
            У этого человека есть выбор. Например, он может не ехать в путешествие.
        • 13 лет назад, # ^ |
            Проголосовать: нравится -7 Проголосовать: не нравится
          С победой тебя! Искренне тебе завидую, я никогда себя не побеждал. Ты следишь за моими выступлениями? Браво. Лично я на твои результаты внимания не обращаю. Постараюсь ответить взаимностью.
          Да, я выступил плохо в тот день. Бывает всё. Помимо плохого выступления, я опоздал на 10 минут к началу раунда и отвлекался на матч Россия - Армения (а он шел в одно время с раундом).
          У меня тоже были контесты, где я побеждал Егора Куликова, Владислава Исенбаева и других достаточно сильных программистов, но я ни на секунду не подумал, что я хотя бы такой же по классу программист, как они. А если посмотреть статистику по выступлениям в общем, то там все встает на свои места.
          А по поводу мнения... По-моему ты высказываешь его только для плюсиков, которые ты любишь. Впрочем, ты и сам об этом написал.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Не льсти себе, я не слежу за тобой - посмотрел только потому, что ты радовался полученной футболке.

            Я люблю плюсики, а ты любишь подарки - постоянно об этом пишешь. Я, если что, тоже люблю подарки и даже больше, чем плюсики.

            Я и не спорю, что ты сейчас выше меня классом, но еще не вечер. Если бы ты был Петром или Туристом, я бы не поднимал эту тему вообще, но ты все-таки не такой крутой, чтобы тыкать меня носом в мой рейтинг.

            Мне тут в голову пришло одно интересное сравнение. Я смотрю, ты тоже любишь футбол. Так вот мы по классу соотносимся, как Томь и Зенит. Ты - Зенит, я - Томь, хоть в действительно мы болеем за эти команды в другом порядке. Недавно тут Томь наказала Зенит - также и я тебя недавно обогнал. Согласен, это случайность, но, может, Томь когда-то выиграет чемпионат России, а я стану красным. Честно говоря, в первом я сильно сомневаюсь, а ко второму приложу все усилия ^_^
            • 13 лет назад, # ^ |
                Проголосовать: нравится +5 Проголосовать: не нравится
              Во-первых Томь обыграла Зенит по игре. Зенит в том матче не наиграл даже на ничью. В прошлом сезоне Зениту и на выезде перепало, да и похлеще, чем в этом году. Так что там о случайности вряд ли можно говорить. Там скорее дело в самоотдаче. Но основную идею твоего сравнения я понял.
              Скорее всего, к тому времени, когда ты станешь красным хотя бы где-то, я уже не буду участником олимпиад. А так, да тренируйся и расти себе на здоровье. Только в это время не говори, что кто-то, кто добился большего, чем ты на данный момент занимается чем угодно, "кроме непосредственно решения задач и победы в контестах". Это глупо.
              • 13 лет назад, # ^ |
                  Проголосовать: нравится -10 Проголосовать: не нравится
                А когда ты собираешься заканчивать спортивную карьеру?
                • 13 лет назад, # ^ |
                    Проголосовать: нравится +5 Проголосовать: не нравится
                  Очень скоро. Я не хочу афишировать это по достаточно веским причинам.
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится -13 Проголосовать: не нравится
                    /*
                    шепотом
                    */

                    Следующий раз, как захочешь поднять свой вклад, напиши мне в личку - еще один холиварчик устроим ^_^
            • 13 лет назад, # ^ |
                Проголосовать: нравится +5 Проголосовать: не нравится
              Интересно. Значит, меня ты тыкал носом в рейтинг, а Паше тебя потыкать нельзя? Между прочим, он выше тебя намного больше, чем ты меня тогда, чем ты меня сейчас.

              А подарки Паша заслужил. Он работал, он пахал, он решал задачки. Ты хочешь сказать, что ты заслужил свои плюсики? Тогда ты не ту профессию выбрал. Впрочем, я это уже ниже сказал.
        • 13 лет назад, # ^ |
            Проголосовать: нравится +1 Проголосовать: не нравится
          Вот не хотел я лезть в этот топик, но зашёл-таки случайно, а тут ВНЕЗАПНО оффтопный холивар, ну а раз такое дело, то меня, конечно, обязательно кто-то да вспомнит. Так вот. У меня только один вопрос, можно даже сказать, когнитивный диссонанс. Если ты сейчас говоришь, что против моих методов, то как ты тогда вообще себе представлял игру со мной в одной команде?
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Кирилл, можешь не поднимать холивар? Человек уже перед всеми извинился. Забей.
            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Хм, вообще да, перечитал, спасибо. Тогда если caustique мой тон вдруг покажется резким, то извиняюсь, наезжать не хотел, просто так вышло, что я и сам сегодня злой. Но содержательно вопрос, тем не менее, остаётся.
              • 13 лет назад, # ^ |
                  Проголосовать: нравится -8 Проголосовать: не нравится
                Так ты ведь ко мне бы не стал эти методы применять?
                • 13 лет назад, # ^ |
                    Проголосовать: нравится -8 Проголосовать: не нравится
                  А вот не знаю, так на расстоянии-то сказать не могу. Я никогда никого не ругаю за недостаток сообразительности - если человек думает хуже меня, он как бы и не виноват. Я ругаю за лень тренироваться (в том числе и дорешивать задачи) и за незнание матчасти. Так что задайся сам вопросом, по какой причине ты в среднем выступаешь хуже меня, и получишь ответ.
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится -16 Проголосовать: не нравится
                    Лень есть, но и ведь ты неидеальный, иначе бы уже вышел в финал.
                    Короче, зря ты отказываешься попробовать тандем со мной - вышла бы отличная команда ^_^
            • 13 лет назад, # ^ |
                Проголосовать: нравится -16 Проголосовать: не нравится
              Ты че-то попутал. Я перед тобой не собирался извиняться, это ты извинился передо мной в личке и я счел конфликт исчерпанным))
      • 13 лет назад, # ^ |
          Проголосовать: нравится -25 Проголосовать: не нравится
        Я тебя опять обогнал.
        У меня 100 место на Russian Code Cup, а у тебя 148.
        Что на этот раз скажешь? ^_^
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          не начинай это снова :)
          • 13 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится -21 Проголосовать: не нравится

            Ну а когда еще такой случай подвернется? ^_^

            Если б я прочитал во втором раунде Яндекс.Алгоритма условие C, так и вообще был бы в шоколаде, но увы:((
    • 13 лет назад, # ^ |
        Проголосовать: нравится +11 Проголосовать: не нравится
      По-вашему высказывание предложений есть анархия?

      Тем более что этот топик скорее некие размышления в вакууме, чем предложение по изменению
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится -13 Проголосовать: не нравится

        Я только сказал многословно, что мне не нравятся такие вот предложения в вакууме. Будь сейчас осенний семестр, я бы сдержался, потому что автор топика тогда вел у меня алгебру и я, может быть, остался бы без зачета ^_^
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      Для вас самое главное-быть на стороне большинства? Идите тогда в сантехники, уборщики. И вообще, мне вас очень жаль.

      Программирование-это целиком и полностью площадка для нововведений. Программирование-одна из наиболее развивающихся отраслей. Кроме того, никто и не говорил, что планируется ввести нечто подобное именно на КФ(хотя, если эта система оценки рейтинга покажет, что она-более разумная и позволяет оценивать результаты много лучше-почему нет? Хотя точно не скоро).
      • 13 лет назад, # ^ |
          Проголосовать: нравится -16 Проголосовать: не нравится
        Я пойду работать в организацию, связанную с теневым Интернетом, которого ты так боишься ^_^
        • 13 лет назад, # ^ |
            Проголосовать: нравится -34 Проголосовать: не нравится
          Дибил.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Ну Сергей. Как тебе не стыдно! Слово дебил пишется через Е.
          • 13 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится -6 Проголосовать: не нравится

            Недавно в одном из твоих диалогов ты писал, что не хочешь переходить с "вы" на "ты", то есть на личности. Что это ты изменил традиции? Короче, жду твоих извинений ^_^
            • 13 лет назад, # ^ |
                Проголосовать: нравится -16 Проголосовать: не нравится
              Извинений не дождешься. Как ты написал ниже, я-злой. Ну а ты-ядовитый. Каждым своим изречением в отношении меня норовишь ущипнуть, уколоть. Зачем про теневой интернет вспомнил? Еще много твоих хороших изречений могу найти в отношении меня. Поискать?
              • 13 лет назад, # ^ |
                  Проголосовать: нравится -6 Проголосовать: не нравится
                Я не хотел сначала тебя обижать, но после твоих высказываний я должен ведь как-то защищаться? Если будут приходить тут всякие и обижать меня, это что же получится? Ты мне нагрубил, я над тобой пошутил. Я неправ?
          • 13 лет назад, # ^ |
              Проголосовать: нравится +11 Проголосовать: не нравится
            Серег, а это уже пошли оскорбления вход. Они обычно идут когда кончаются аргументы
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Это, по-моему, не стоит говорить даже дебилам..
            • 13 лет назад, # ^ |
                Проголосовать: нравится -13 Проголосовать: не нравится
              Дебилам не стоит, а мне можно.

              Он сказал ниже, что я прямолинеен - это правда. Так что жду ответной прямолинейности.
    • 13 лет назад, # ^ |
        Проголосовать: нравится +14 Проголосовать: не нравится
      Как минимум аргумент очень неудачный. Парламент — от французского слова, означающего “говорить”. И эта цитата вообще-то не истина в последней инстанции, а напоминание о том, как Грызлов облажался. Извините за капитанство.
      • 13 лет назад, # ^ |
          Проголосовать: нравится -16 Проголосовать: не нравится
        Я еще думал, может написать в скобках, что я пошутил ^_^
    • 13 лет назад, # ^ |
        Проголосовать: нравится -12 Проголосовать: не нравится
      ты сказал глупость, которая деструктивна по своей сути, за это и получил порцию минусов

      лишь малая толика предложений становится нововведениями - некоторые из этих предложений просто рождают новые, более совершенные идеи; большая же их часть отбрасываются как тупиковые

      ну а "минусовать Хаустова и Ферлона" только за то, что они "по ту сторону баррикад" - это, извини, некоторое стадное чувство
      • 13 лет назад, # ^ |
          Проголосовать: нравится -21 Проголосовать: не нравится
        Саш, о чем ты говоришь? Парень просто своим комментом показал, что он именно и есть стадо. Всегда держаться толпы, смотреть за плюсами-минусами... Ты друзей никогда настоящих не найдешь, потому что боишься высказать собственное мнение. Да и мнения у тебя нет. У меня, честно, презрение к таким людям. 
        • 13 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится
          ну я думаю, что ты зря по одному суждению судишь о человеке так критично

          ну и как бы просто немного некрасиво так безапеляционно смешивать человека с говном, который, например, неправильно донёс свою мысль
          • 13 лет назад, # ^ |
              Проголосовать: нравится -32 Проголосовать: не нравится
            Так получилось, что у меня неплохая память. И я помню, что этот человек далеко не первый раз показывает свою злобность, прямолинейность и желание быть в толпе, получать свои "плюсики". Да и, кроме того, иногда бывает одного слова(взгляда, поступка) достаточно.
            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Прямолинейность - это ведь хорошо?

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

              Злой в данном случае ты, я ведь тебе ниже мировую предлагал, но ты отказываешься. Ну и ладно, я уже почти с Хаустовым подружился ^_^
        • 13 лет назад, # ^ |
            Проголосовать: нравится -22 Проголосовать: не нравится
          Люблю всегда читать твои комменты - нравится твоя искренность.
          Добавляй в друзяшки в контакте ^_^
    • 13 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится +4 Проголосовать: не нравится

      Во общем я не могу удержаться - ребят заканчивайте базар уже, хочется обсирать друг друга пишите в личку))
      p.s. лучше бы сдали че нить в дорешивание, немного успокаивает)
      • 13 лет назад, # ^ |
          Проголосовать: нравится -23 Проголосовать: не нравится
        Так я никого не обсираю, пытаюсь вести конструктивную беседу.

        Ты авторитетный олимпиадник, давай у тебя спросим, на чьей ты стороне (если, конечно, читал, что мы выше написали)?
        • 13 лет назад, # ^ |
            Проголосовать: нравится +4 Проголосовать: не нравится
          К сожалению читал.. Я бы не назвал себя авторитетным)
          У меня немного параллельное отношение к этому) Каждый прав в чем то, но это затерялось в бурных эмоциях, а по поводу прямоты - это круто, но зачастую это личшее..
      • 13 лет назад, # ^ |
          Проголосовать: нравится +70 Проголосовать: не нравится
        Что ты, что ты! Какое "заканчивайте"?! А эта непередаваемая энергетика и атмосфера срача дискуссии?:) Да она всем кто читает дает моментально +5 к удаче и боевому духу, а тем, кто задумается, что стоит проводить время с большей пользой - еще и +50 к программированию:)
        • 13 лет назад, # ^ |
            Проголосовать: нравится -13 Проголосовать: не нравится
          комментарий, достойный +100 =)

          зрители затарились попкорном и ждут новой порции лулзов :D
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            В другом посте ты отказался обсудить со мной майамских девчонок - не будет больше лулзов значит ^_^
            • 13 лет назад, # ^ |
                Проголосовать: нравится +23 Проголосовать: не нравится
              ну а что их обсуждать?)

              • 13 лет назад, # ^ |
                  Проголосовать: нравится +10 Проголосовать: не нравится
                Ну, та, что по центру, ничё так. Хотя, судя по выражению лица чувака, он со мной не согласен.
                • 13 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  а мне кажется, что наоборот, Ромка молчаливо и с надеждой вопрошает у нас: "отпустите меня сегодня на вечерок? я обязательно приползу к началу контеста!"
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится 0 Проголосовать: не нравится
                    Значит, так и не отпустили? Сволочи! (Хотя нет, это я зря, контест превыше всего. Но вот после него-то уже можно было...) А я правильно понимаю, что, если американским девчонкам сказать: "I am Russian programmer", - они сразу все твои?
13 лет назад, # |
Rev. 2   Проголосовать: нравится +6 Проголосовать: не нравится

продолжаем разговор :)

итак, есть мысль нафиг убрать параметр "время сдачи"/"время последней сдачи"/"штрафное время", а вместо неё организовать систему штрафов за лишние сабмиты и долгий процесс решения

при адекватном подборе формул мы легко разведём всех участников и без этого параметра

что такое "учитывать топ-100 адекватных участников", я так и не понял; давай оставим вопросы сходимости, когда будем шаманить с готовыми формулами

следующая мысль - любой неудачный сабмит должен давать штраф, причём сразу после сабмита, а не после успешной сдачи задачи

во-первых, не будет ситуаций проталкивания задач дебаг-сабмитами

во-вторых, сабмит - это как попытка сдать готовую работу: либо мы сделали её качественно и получили вознаграждение, либо некачественно и заработали штрафные санкции

что касается скорости сдач, то я считаю, что для поддержания динамики соревнования нужно уменьшать максбалл со 100% в начале контеста до некоторой магической константы в конце (мне лично кажется адекватным 70-80%)

насчёт тупняка вначале и тупняка в конце - не знаю; тупняк должен быть наказуем в любом случае

кстати, логарифм не доставил

играясь с формулами, понравилась больше всего такая: , где p - количество участников, решивших задачу

несколько значений оттуда:

 Решило Баллы
 1 1000.00
 2 970.14
 3 942.81
 5 894.43
 10 800.00
 20 676.12
 30 596.28
 50 496.14
 100 373.00
 200 272.80
 300 225.37
 500 176.26
 1000 125.55

при количестве участников от 200 и выше сия формула будет определять сложность задачи на ура

штраф за неудачный сабмит предлагаю сделать стоимостью 50 баллов: думаю, что величина штрафа должна быть всегда постоянная, а не варьироваться невесть как, ну и 50 баллов в компоновке с формулой выше выглядит не слишком мало и не слишком много
  • 13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Проблема с постоянным штрафом такая же как в ACM+: после нескольких неправильных попыток задачу становится невыгодно сдавать дальше и все наработки по ней "сгорают"
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      я плохо сформулировал свою мысль? штраф должен забираться сразу, вне зависимости от того, сдашь ты задачу потом или нет

      поэтому задачу будет выгодно сдавать всегда

      (на всякий случай поправил комментарий выше)
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится +15 Проголосовать: не нравится

        А вот это, Саш, совсем неправильно. Допустим, сет из 7 не очень сложных и одной очень сложной задачи. Первые 7 задач сдаются быстро двумя командами .Одна команда забила на 8 задачу, а вторая еще пытается ее сдать.  Что же ты предлагаешь-ту, которая забила, еще и похвалить? "Молодцы, ребята, вы нихрена не делаете, давайте мы вам за это первое место дадим"
      • 13 лет назад, # ^ |
          Проголосовать: нравится +20 Проголосовать: не нравится
        Штрафы за в итоге не сданные задачи тоже не ок, иначе может оказаться что оставшийся гроб в конце контеста нет смысла даже пытаться решить, так как велик риск вместо подъема вверх на пару мест получить падение вниз например мест на 10.
        • 13 лет назад, # ^ |
            Проголосовать: нравится -6 Проголосовать: не нравится
          да, такие ситуации будут иметь место быть

          два из двух очевидных решений этой проблемы имеют явные недостатки :)

          подумаю на досуге, что можно сделать
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          вообще лично моё мнение (это ответ и на комментарий выше в том числе) по поводу штрафов "на лету" - такой способ оценки вполне адекватен

          участнику с такими правилами соревнований нужно быть неплохим тактиком, поскольку изначально апостериорная оценка задач предполагает некоторые навыки анализа ситуации, пример приведён ниже

          так вот, грамотный анализ нужен и в этом случае: "а сдам ли я задачу?", "а критичен ли минус, которые я могу получить за несданное решение?"
          • 13 лет назад, # ^ |
              Проголосовать: нравится -11 Проголосовать: не нравится
            продолжаем разговор :)

            насчёт штрафа

            играясь с формулами, понравилась больше всего такая: 0.1*, где p - номер попытки, с которой сдана задача.

            несколько значений оттуда:

             Попытка % стоимости
             1 100.00
             2 97.014
             3 94.281
             5 89.443
             10 80.000
             20 67.612
             30 59.628
             50 49.614
             100 37.300
             200 27.280
             300 22.537
             500 17.626
             1000 12.555

            • 13 лет назад, # ^ |
              Rev. 3   Проголосовать: нравится -17 Проголосовать: не нравится

              очередной "сверхинформативный и оригинальный" комментарий. Или один я не вижу ничего крутого в перепосте чужого коммента с измененным одним словом и дурной картинкой после таблички?
              • 13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                =====================
                Этот комментарий в любом случае адекватнее идеи вычитать -50 птс за каждый неудачный сабмит.

                Вся его поверхностная глупость контрастирует с достаточно разумной мыслью внутри, этим облачая идею таких вычетов.

                А Trollface.jpg - это классика, стыдно не знать!
                • 13 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  "поверхностная глупость контрастирует с достаточно разумной мыслью" - где слов таких понахватался? =)

                  ладно, отказались уже :)
                • 13 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  я знаю, что такое троллфейс (кстати, Вам подходит). Ваш комментарий  - полная копирка комментария выше. Лишь это я имел в виду. 
                • 13 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  Вообще я удивлён, что на Codeforces никто до сих пор не поставил trollface на аватару.
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится +10 Проголосовать: не нравится
                    может все ждут этого от Ferlon ? :)
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится +10 Проголосовать: не нравится
                      =======================
                      Ну вот... толсто же, толсто, зачем так...

                      Вообще можно устроить конкурс: кто напишет в каком-нибудь раунде по какой-нибудь задаче правильный код без явных обфускаций и наберёт на нём рекордное число неуспешных хаков - тот и есть лучший тролль.
          • 13 лет назад, # ^ |
              Проголосовать: нравится +36 Проголосовать: не нравится
            Мое мнение что соревнования должны делать упор на умение решать задачи, и если правила создают ситуацию когда участники думают над тем, надо ли им решать очередную задачу, то это какие-то неправильные правила 
          • 13 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится +4 Проголосовать: не нравится

            Но блин, всё-таки упор должен быть сделан на умение решать задачи. То есть, сдача задачи с какой бы-то ни было попытки должна быть лучше, чем несдача, и существенно лучше.

            А даже если ты снимаешь штраф за минусы сразу, это всё равно может побудить не решать задачу. "Вон сколько по ней минусов у всех/у нас, нафиг её решать, а то ещё кучу минусов получим и не сдадим".

            • 13 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              согласен с двумя комментариями

              хорошо, давай лучше будем начислять бонус за чистоту сдачи задачи
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Я говорил уже, что в итоговую формулу обязательно должно быть включено общее количество участвовавших в контесте, нужно, чтобы не только при среднем, но и при большом и при малом количестве участников работала хорошо. Согласись, если задачу решило 5 человек из тысячи-то эта задача должна стоить одно количество очков, а если 5 из 100-другое. Вместо 15 предлагаю поставить t/50, где t-именно количество участников
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      далеко не факт, что формула не работает при малом количестве участников; возможно, она работает даже ещё лучше :)

      тут проверять нужно экспериментально, а добавлять переменные в формулу - это точно неудачная идея, поскольку участник должен мочь прикинуть в уме: "вот эту задачу максимум 10 человек сдадут, значит на 800 баллов я могу рассчитывать, а за эту халяву я максимум 500 баллов срублю, следовательно, буду решать задачу X..."
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Насчёт тупняка, всё же подумай? Ты считаешь, что тупняк в начале должен быть более наказуем, чем тупняк в конце? Мне это кажется странным.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Потому что это важно. От этого напрямую зависит то, как начислять штрафы за минусы и за время сдачи.
13 лет назад, # |
  Проголосовать: нравится +21 Проголосовать: не нравится
перегнал результаты NEERC-2010 под новые правила, дабы оценить адекватность формулы

учитывая разительные различия правил acm и описанных выше, я уменьшил все неудачные сабмиты несданных задач с минус много до минус трёх; понятно, что на контесте по таким правилам никто не будет проталкивать фигню кучей дебаг-сабмитов


что мы видим? корреляция просто поразительная; треш начинается с команд, которые решили меньше трёх задач

кроме того, команды, которые решили более сложные задачи B и K, получили на 150-200 баллов больше по сравнению с теми, кто решал более простые D-G

какие спорные моменты выявил этот тест?

1. есть мнения, что слабые команды будут бояться сдавать задачи в принципе: "а вдруг не сдадим, а минус получим?..."
2. стоимость штрафа слишком высока; некоторые задачи выгоднее тестировать до конца контеста и сделать один чёткий сабмит, и получить больше баллов, чем сдать задачу на +1 на первых минутах контеста
3. ну и вообще, многим просто не нравится получать штраф за неудачный сабмит сразу
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    ignore
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    У меня не показывает. Не мог бы ты сделать так, чтобы показывало?
  • 13 лет назад, # ^ |
      Проголосовать: нравится -11 Проголосовать: не нравится
    Так беспалевно по этому рейтингу вы обгоняете две команды, которые по АСМ-правилам были выше вас:)
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Халтурит Саша, однако. Уж придумал бы тогда рейтинг, по которому бы они вообще всех обгоняли =)
      • 13 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится
        Наверняка есть команда, которая все их задачи сдала раньше и чище них.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Буду кепом-команда-победитель(итмо2) решила все задачи на контесте
          • 13 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится +7 Проголосовать: не нравится

            Надо уже сделать тег <cap/>.
          • 13 лет назад, # ^ |
              Проголосовать: нравится +5 Проголосовать: не нравится
            и это не значит, что она решила их раньше и чище, чем Orel SU ((с) cap)
            • 13 лет назад, # ^ |
                Проголосовать: нравится +6 Проголосовать: не нравится

              Можно применить такие правила.
              1) Ввести так называемое "особенное число" N. Если какая-либо команда набирает N штрафных баллов ей предоставляется бонус - первое место.

              Число N вычисляется по результатам контеста - оно равно количеству штрафных баллов, набранному командой Orel SU.

              2) Если предыдущий пункт не позволяет выявить победителя, смотрится состав участников. Победителем признаётся команда, в которой один из участников имеет так называемый "особенный хэндл" на Codeforces, назовём его S. Чтобы не копировать первый пункт, определим S до соревнования, например, Alex_KPR. Так как один хэндл не может принадлежать двум участникам, то победитель становится известен заранее (если же такого участника в командах нет - сильно удивляемся и чешем затылок). Остальные спорные места распределяются по системе "камень-ножницы-бумага" до четырёх побед.

              • 13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                согласен по всем пунктам

                предлагаю в дальнейшем проводить все соревнования по этим правилам, в том числе topcoder, codeforces (достаточно только пункта 2) и многие, многие другие

                кроме того, рекомендую распространить на все остальные виды спорта, в т.ч. шахматы, настольный теннис и снукер, а, кроме всего прочего, советую всем девушкам планеты Земля отдать своё сердце тому самому единственному, который обладает "особенным хэндлом", определённым в комментарии выше


                по делу: команда, в которой я принимал участие в турнирах acm-icpc, называется Orel STU, а не Orel SU ;)
                • 13 лет назад, # ^ |
                    Проголосовать: нравится +1 Проголосовать: не нравится
                  Рекомендую экстренно сменить пароли на всех аккаунтах на разные двадцатисемизначные с буквами, цифрами и спецсимволами. А то, знаешь, когда введут такое правило... ну ты понел.
                  • 13 лет назад, # ^ |
                    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

                    Да, и еще, когда введут такие правила, гуляй осторожнее. Мало ли-дом сожгут, порежут на мелкие кусочки, распотрошат, кровь высосут, застрелят 1274 раза в голову, закопают заживо, принесут в жертву королевской кобре, освежуют, банально задушат... Мало ли что еще может быть с обладателем такого "особенного хэндла"?!
13 лет назад, # |
  Проголосовать: нравится +14 Проголосовать: не нравится
уважаемые господа, версия 2.0

исходная формула немного подредактирована

кроме того, вместо штрафа в 50 pts будет добавляться бонус за чистую сдачу:
+20% от стоимости задачи за сдачу с 1-ой попытки
+10% от стоимости задачи за сдачу со 2-ой попытки
+5% от стоимости задачи за сдачу с 3-ой попытки
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    А четвёртая и двадцатая попытка получаются неразличимы? Кажется это тоже неправильно.
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

      а насколько должны быть различимы 4-ая и 20-ая попытки?
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Ну взять хотя бы примерно ту идею, что я сказал, только с другими константами, типа 200/sqrt(p+3), чтобы чуть быстрее уменьшалась сначала, и будет неплохо на мой взгляд.
        1-100,00%
        2-89,44%
        3-81,65%
        4-75,59%
        20-41,70%


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

          "Надо заметить, что между + и +1 есть существенная разница, а вот +7 и +8 – это почти одно и тоже" - думаю, что Sammarize тут абсолютно прав

          что +3, что +20 - это значит, что участник не в состоянии без помощи тестирующей системы найти ошибку в своём решении

          единственное, что мне не нравится при таком подходе - отсутствие наказания за ежеминутные сабмиты по задаче (впрочем, в конце acm-style контеста наказание в виде 20 минут штрафа выглядит тоже смешно, когда нужно затолкать задачу)
          • 13 лет назад, # ^ |
              Проголосовать: нравится -6 Проголосовать: не нравится
            Разница большая. +3-это, скорее всего, мелкий баг. +20-скорее всего, попытка запихнуть задачу с неправильной асимптотикой.
          • 13 лет назад, # ^ |
              Проголосовать: нравится +5 Проголосовать: не нравится
            Рассуждая в том же направлении, можно заметить, что как сложность зависит от задачи, так и среднее количество минусов различное для различных задач. Поэтому бонус за чистую сдачу тоже можно динамически пересчитывать.

            Хотя, конечно, количество минусов у конкретной команды по конкретной задаче — величина гораздо более “случайная”, чем умение или неумение задачу решать.
            • 13 лет назад, # ^ |
                Проголосовать: нравится +5 Проголосовать: не нравится
              Глупо давать штраф за задачу, которую ты в итоге не решил. Возможности ухудшить свое положение самостоятельно быть не должно.
              • 13 лет назад, # ^ |
                  Проголосовать: нравится +4 Проголосовать: не нравится
                Да, вот меня тоже именно это больше всего смущает. Система ACM обладает одним замечательным свойством, которым не обладает ни одна другая известная мне система, а именно: в каждый конкретный момент времени результат любого, даже самого бестолкового, действия не хуже, чем результат бездействия. В этом утверждении под действием подразумевается любая разрешённая правилами передача информации от участника тестирующей системе, под результатом - изменение положения участника в ранк-листе непосредственно после совершения действия. Да, и под ранк-листом в конкретный момент времени я здесь понимаю следующее: допустим, после этого момента времени все участники полностью бездействовали - так вот и каково будет их положение в итоге.
                Если вы осилили мою попытку формальных определений, то остаётся такой вопрос: а хорошо это или плохо - когда система обладает указанным свойством?
                • 13 лет назад, # ^ |
                    Проголосовать: нравится +1 Проголосовать: не нравится
                  ========================================
                  для тех, кто в танке, ещё раз перечитайте мой комментарий выше

                  кому всё-таки лень это делать - знайте:

                  ШТРАФОВ ЗА САБМИТЫ НЕТ, есть только возможность не получить бонус

                  теперь ответы на вопросы:

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

                  2. если в какой-то момент времени все участники перестают что-то делать, то изменения в ранк-таблице прекращаются

                  3. "хорошо или плохо" зависит от того, что ты хочешь получить в результате
                • 13 лет назад, # ^ |
                  Rev. 3   Проголосовать: нравится +6 Проголосовать: не нравится

                  ===================================================

                  "Хорошо" и "плохо" соответствуют понятиям "объективно" и "необъективно", так? Если так, то надо выделить какие-то чёткие критерии. Ну а как это сделаешь, если на исход соревнования вляет иррациональная составляющая - психология? На результаты будет влиять и формат и набор задач, и настроение... Это всё не учесть, а упрощение ведёт к потере сути, на мой взгляд.

                  Объективность есть безусловно, но в какой степени - неясно. Вот мне кажется, стоит обратить внимение на ситуацию в современном теннисе. В течение года в разных условиях (на траве, на грунте, на жёстком покрытии, на открытых-закрытых кортах) проводятся турниры, за которые начисляются определённые очки и т.д. Было бы интересно приспособить эту модель к СП. Навскидку -


                  1) Утвердить количество и форматы международных турниров. На каждом - личный и командный зачёт.

                  2) Присвоить соревнованиям уровень.

                  3) Вести рейтинги - командный и личный.

                  Плюсы - большая объективность и выход СП на совершенно новый уровень (по-моему).

                  Минусы - нет отдельного Чемпионата мира, хотя в конце года можно провести итоговый турнир, например, да и сложно переделывать текущий формат.
          • 13 лет назад, # ^ |
              Проголосовать: нравится -9 Проголосовать: не нравится

            С другой стороны, елси сделать за 3 и больше попыток совсем маленький бонус, это удовлетворит все мнения. Например,

            с 1 попытки 1/4 стоимости задачи

            с 2 попытки 1/8 стоимости задачи

            с 3 попытки 1/16 стоимости задачи

            с 4 попытки 1/32 стоимости задачи

            и так далее.

  • 13 лет назад, # ^ |
      Проголосовать: нравится +11 Проголосовать: не нравится
    Да, убывающий (но не в ноль) бонус за мало попыток сдачи — это несомненно лучшая идея, чем риск штрафа за сабмит на последних минутах.

    И так уже хватает правил, по которым можно поучаствовать и потом думать: “эх, вот если бы я закончил участвовать через 15 минут после начала, место было бы выше”...
    • 13 лет назад, # ^ |
        Проголосовать: нравится -8 Проголосовать: не нравится
      ну почему "но не в ноль"?

      если выбирать какую-то адекватную формулу, по которой бонус будет уменьшаться от увеличения числа сабмитов, то что +10, что +20 будут давать около нуля с крохотной разницей

      с неадекватными формулами попроще :) но мы их не рассматриваем
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Формула Codeforces убывает не в ноль, но разве она неадекватна?
        • 13 лет назад, # ^ |
            Проголосовать: нравится -8 Проголосовать: не нравится
          мне кажется, что ты сравниваешь тёплое с мягким

          или за чистые сдачи на Codeforces начали давать бонусы?
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Не умею читать.
            Получается, тут такая же система, только с базой за задачу в 30% + линейно убывающим бонусом, зависящим от количества попыток и времени сабмита (ну и без штрафов за несданные задачи)?
            • 13 лет назад, # ^ |
                Проголосовать: нравится -8 Проголосовать: не нравится
              эм, теперь я ничего не понял :)

              стоимость A задачи оценивается по магической формуле, которая определяется по количеству участников, сдавших её

              участник, сдавший эту задачу, получит не A баллов, а меньше, поскольку стоимость задачи линейно убывает со 100% от этого A до 75% от времени, т.е. чем раньше, тем больший % от A мы получим

              бонус даётся при сдачах на +, +1 и +2 в размере 20%, 10% и 5% от стоимости A соответственно
              • 13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Это-то понятно.
                Но очевидно, что как штраф за медленность можно заменить бонусом за скорость, так и бонус за чистоту можно заменить штрафом за шпалоукладничество (для полного совпадения придётся что-то вычесть или прибавить).
                Используем в обоих случаях штрафы - тогда получится то, что есть, просто с чуть видоизменёнными формулами.
                Например:
                p1(t) = t / len * 0.75
                p2(att) = 0.2 / 2att
                result = maxpts * (1 - p1 - p2)
                А сейчас 
                penalty(t, att) = min(0.7 * maxpts, att * 50 + t * x)
                result = maxpts - penalty,
                что легко представить в стиле выше
                И, насколько я понимаю, основное изменение в формулах подсчёта, а принцип остаётся тем же.
                ============================================
                • 13 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  =====================================
                  ну, во-первых, формулы используются другие; пенальти рассчитывается совсем не так

                  во-вторых, нет смысла увеличивать "штраф" за бревно на 1 балл за 5-ую посылку и на 0.02 балла за 10-ую - эти величины уже роли не играют никакой

                  в-третьих, предлагаю использовать термин "бонус за чистоту", чем "штраф за грязность", потому что, как верно выразился winger, бонусы получать приятнее
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится 0 Проголосовать: не нравится
                    1 не претендовал на достоверность, хотя формула похожа на правду
                    2 полностью согласен, формулы были лишь чтобы примерно отразить суть
                    3 Штрафы-то они конечно звучат неприятно, но с ними удобней и привычнее считать
                    Например, сейчас я легко могу определить, что меня не обгонит участник Х, отставая на 550 баллов, решив задачу за 500б. А в системе с бонусами придётся научиться быстро умножать на 1.2 и, главное, не забывать это делать.
                    Хотя, тогда имеет смысл и за скорость давать бонус и можно будет ограничить количество баллов за задачу снизу, что, на первый взгляд, не менее полезно.
                    ========================================================
13 лет назад, # |
  Проголосовать: нравится +19 Проголосовать: не нравится
Хочу заметить, что от формул, по которым получаются место на соревновании и изменения рейтинга, очень нужна простота. Какие бы средства высшей математики и сложные идеи ни применялись, участнику нужно предоставить конкретные числа, из которых всё понятно на глаз.

Перед участником всё время встаёт выбор, например:
- какую задачу решать следующей, если реально успеть не более одной;
- обгонит ли он конкретного противника, если сдать сейчас чисто, или если сдать через минуту с одной штрафной попыткой, или если сдать через пять минут, потратив их на отладку;
- на сколько мест вниз он опустится при неудачном взломе, на сколько мест вверх поднимется при удачном взломе.

Если какая-то подобная информация не получается из текущей таблицы за несколько секунд, мне кажется, система оценки плоха. Потому что участника, задающегося такими вопросами, её ненужная техническая сложность отвлекает от решения стоящих перед ним задач.

Примеры:
- баллы за место в конкретном Гран-При в Открытом Кубке даются не по формуле, а по конкретной табличке GP30 или GP10 из 30 или 10 чисел. Прибавить двузначное число и понять, как меняется место в общем зачёте — дело нескольких секунд.
- фиксированные баллы за челлендж на TC и на CF легко позволяют понять потенциальный риск и потенциальный выигрыш. А теперь представим, что стоимость челленджа всё время колеблется и становится окончательно известна только после конца соревнования. Конкретные вопросы типа “хватит ли двух челленджей, чтобы занять Top-3 место по комнате, или нужно рисковать и делать третий” становятся практически неразрешимы.