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

Автор kuviman, история, 9 лет назад, По-русски

Всем привет!

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

В данный момент рейтинг считается следующим образом: итоговый рейтинг равен среднему арифметическому из рейтингов по каждому соревнованию, в которых пользователь принимал участие. Рейтинг по соревнованию зависит от отношения решенных задач пользователя к числу решенных задач у победителя, а также места на соревновании. Кроме того, к рейтингу соревнования добавляются баллы за дорешивание задач. Ходят слухи, что впервые такой способ подсчета рейтинга был придуман в ИТМО. Более формально:

где

  • R — рейтинг по соревнованию,
  • n — максимум из 50 и количества участников соревнования,
  • place — место участника в 1-индексации,
  • solved — количество решенных задач участника,
  • maxSolved — количество решенных задач победителя,
  • upsolved — количество дорешенных задач участника,
  • problemCount — количество задач в соревновании.

Если пользователь участвовал в команде, считается что он занял место, которое заняла команда.

Чтобы создать специальный рейтинг в группе, вы должны быть ее менеджером. В одной группе может быть несколько рейтингов, которые могут различаться набором соревнований. Для создания рейтинга в сайдбаре группы есть специальная кнопка:

По ее нажатию появится форма создания рейтинга:

Пользователи добавляются в рейтинг лишь в том случае, если участвовали как минимум в заданном проценте от всех соревнований этого рейтинга. По умолчанию необходимо принять участие в 50% соревнований.

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

Также добавлена возможность просматривать статус в группе: в нем отражены лишь попытки по соревнованиям группы.

Удачных тренировок в группах Codeforces!

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

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

Багофичи, которые я заметил и которые мне не понравились

1) В рейтинге группы появляются люди, которые участниками группы не являются.

2) Виртуальное участие считается дорешиванием. Возможно стоит сделать это опциональным для каждого рейтинга.

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

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

Thanks, that is an incredibly cool update. It will be very useful in organizing IOI preparation and such.

One request though. Could you add a way to modify the parameters of the rating formula for my ratings (it would be especially cool if you added some group/rating colorcoding).

Keep up the good work. Codeforces is becoming way more useful than it should be.

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

That's great!

It will be also really cool if it's possible to create a contest with codeforces style (i.e. setting a different score to each problem).

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

Very nice update! Can you please enable filtering the results of the rating for only group members?

We train by using already existing previous contests. I made a group rating but everyone from Codeforces appears there and we would like to be able to see only the group members with the custom rating.

Thanks!

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

А как удалить рейтинг?

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

Is it possible to delete a custom rating? I made two copies of the same rating scheme by mistake and cannot figure out how to delete the duplicate.

Great work though. This is a neat feature!

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

Can anybody explain the difference between {solved} and {upsolved} ? I can't find the exact meaning of the term {upsolved} on Internet.

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

    "Solved" means "solved during the competition", while "upsolved" means "solved after the competition ends". When you take part in Codeforces round, you "solve" problems. When you look at past Codeforces rounds and submit some solution, you "upsolve" problems.

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

      Thanks!

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

      It's a calque from Russian.

      Looking at the formula... am I correct in thinking that quite often you can get better R (contest ranking) by upsolving instead of solving the tasks during the contest? :)

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

        Yes, but given that n is max of number of participants and 50, it'd have to be a fairly large contest for that to happen.

»
9 лет назад, # |
Rev. 2   Проголосовать: нравится -7 Проголосовать: не нравится

Разве не лучше давать 0 за не участие в контесте? А то так получается не очень здорово

картинка

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

Решили ввести систему поощрений на локальных тренировках внутри группы и встретились с проблемой. Нельзя сделать рейтинг, который учитывал бы только официальное участие в раунде (не дорешивание и не виртуальное). Я ничего не упустил, это действительно невозможно сделать? Сложно ли реализовать такой функционал?

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

Если не сложно, можете добавить несколько дополнений:

  1. Возможность экспортировать рейтинги (например в формате csv).
  2. Возможность исключать пользователей из рейтинга.
  3. (Функция) Пользователь получает 0 баллов в соревнованиях, в которых пользователь не принимал участие.
  4. Функция отображения имени и фамилии возле хэндла (Например : Zharaskhan (Жарасхан Аман) ).
  5. Функция отображения название контеста вместо #id -> Codeforces Round 333 (Div. 1)
»
5 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

I found that the add contest feature only adds contests within the group, while the external contest needs to import the scores themselves.

Is there such a need, for example, I want to use the official Codeforces competition this evening as a synchronous contest in the group and rate it, so I want to add such a feature in the external contest (citing other contests on this site).

Thank you.

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

    Hello MikeMirzayanov, I tried to add multiple external contests, and the result of each contest has a very large number of characters (about 70,000 characters). When I try to add a second contest and save it, the server sends out 500 errors, I guess this Probably because the size of the POST data is too large, I don't know how I should fix it (without changing the rating data). Thank you.