Всем привет!
Не так давно в Саратовском государственном университете закончились летние тренировки по программированию, и чтобы удобнее было следить за успехами наших программистов была внедрена возможность добавлять специальные рейтинги. Теперь такая возможность есть и у вас!
В данный момент рейтинг считается следующим образом: итоговый рейтинг равен среднему арифметическому из рейтингов по каждому соревнованию, в которых пользователь принимал участие. Рейтинг по соревнованию зависит от отношения решенных задач пользователя к числу решенных задач у победителя, а также места на соревновании. Кроме того, к рейтингу соревнования добавляются баллы за дорешивание задач. Ходят слухи, что впервые такой способ подсчета рейтинга был придуман в ИТМО. Более формально:
где
- R — рейтинг по соревнованию,
- n — максимум из 50 и количества участников соревнования,
- place — место участника в 1-индексации,
- solved — количество решенных задач участника,
- maxSolved — количество решенных задач победителя,
- upsolved — количество дорешенных задач участника,
- problemCount — количество задач в соревновании.
Если пользователь участвовал в команде, считается что он занял место, которое заняла команда.
Чтобы создать специальный рейтинг в группе, вы должны быть ее менеджером. В одной группе может быть несколько рейтингов, которые могут различаться набором соревнований. Для создания рейтинга в сайдбаре группы есть специальная кнопка:
По ее нажатию появится форма создания рейтинга:
Пользователи добавляются в рейтинг лишь в том случае, если участвовали как минимум в заданном проценте от всех соревнований этого рейтинга. По умолчанию необходимо принять участие в 50% соревнований.
При желании можно указать дату заморозки рейтинга: дорешивание после этой даты не будет влиять на рейтинг.
Также добавлена возможность просматривать статус в группе: в нем отражены лишь попытки по соревнованиям группы.
Удачных тренировок в группах Codeforces!
Багофичи, которые я заметил и которые мне не понравились
1) В рейтинге группы появляются люди, которые участниками группы не являются.
2) Виртуальное участие считается дорешиванием. Возможно стоит сделать это опциональным для каждого рейтинга.
А так-то очень крутая идея, спасибо, я хотел поддерживать что-то такое руками для своей группы :)
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.
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).
AND HACKING (i know its not helpful for study but not harmful too)
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!
А как удалить рейтинг?
Отличный вопрос! Видимо, пока никак :) Завтра сделаем.
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!
This feature is nearly to be ready, but it is not in the production right now. Please, wait for tomorrow!
Thanks Mike! :)
Can anybody explain the difference between {solved} and {upsolved} ? I can't find the exact meaning of the term {upsolved} on Internet.
"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.
Thanks!
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? :)
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.
Разве не лучше давать 0 за не участие в контесте? А то так получается не очень здорово
картинка
Решили ввести систему поощрений на локальных тренировках внутри группы и встретились с проблемой. Нельзя сделать рейтинг, который учитывал бы только официальное участие в раунде (не дорешивание и не виртуальное). Я ничего не упустил, это действительно невозможно сделать? Сложно ли реализовать такой функционал?
Если не сложно, можете добавить несколько дополнений:
#id
-> Codeforces Round 333 (Div. 1)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.
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.