Привет, Codeforces. Ниже вы сможете узнать об обновлениях в системе Polygon.
Была проделана большая работа, чтобы упростить подготовку школьных задач, в которых используются группы и баллы для тестов. Во вкладке General Information можно включить опцию проставления баллов для каждого теста. Эта опция включается сразу для всей задачи, то есть для всех тестсетов. Напомню, что тестовые группы включаются для каждого тестсета отдельно во вкладке Tests.
Баллы для групп, политики начисления баллов, зависимости
Баллы за тест, как и группы, можно проставлять в таблице со списком тестов, а также указывать их при создании нового теста. Если группа для теста появилась впервые, она автоматически будет добавлена в список имеющихся групп. Этот список представлен в таблице.
Здесь разработчик задачи может указать политику начисления баллов за группу, а также указать от каких групп зависит группа. Политика начисления баллов может быть одного из двух типов. Первый тип политики тестирования EACH_TEST
, в этом случае баллы будут начисляться за каждый пройденный тест из этой группе. Второй тип политики тестирования COMPLETE_GROUP
, в этом случае баллы за группу будут начислены только в том случае, если все тесты из этой группы пройдены.
Также теперь можно добавлять для каждой группы зависимости от других групп. Если группа A зависит от группы B, то вне зависимости от того, были ли пройдены тесты группы A, вы получите 0 баллов за все тесты этой группы, если хотя бы один тест группы B не будет пройден.
Теги для решений по группам и по тестсетам
Во вкладке Solutions появилась возможность указывать тег для каждого решения по каждому существующему тестсету, а также по каждой существующей группе. Ниже представлен интерфейс для работы с тегами.
Обновлённый запуск Invocations
При запуске Invocations теперь учитывается вся информация о тестовых группах, баллах и тегах решений по тестсетам и по группам. Баллы для каждой группы будут начислены в соответствии с проставленной для группы политикой тестирования, а также в соответствии с группами, от которых зависит текущая группа. Если решение нарушает хотя бы один из своих тегов, то invocation будет подсвечиваться красным цветом, а в подробном отчете об этом тесте доступна информация о нарушенных тегах.
Пакеты по задачам с учетом нововведений
При сборке пакетов вся информация о тестовых группах, баллах и тегах решений складывается в дескриптор задачи. Здесь вы можете найти пример дескриптора школьной задачи.
Спасибо за внимание! Надеемся, что реализованные улучшения будут вам полезны.
Автокомментарий: текст был обновлен пользователем fcspartakm (предыдущая версия, новая версия, сравнить).
А раундов по задачам с группами тестов ( или отдельным оцениваниванием за каждый тест) не планируется? Было бы очень интересно и думаю полезно, потренироваться для олимпиад как Открытая олимпиада школьников по программированию, или Беларуская Республиканская олимпиада.
That sounds amazing! :)
Are those partial scores handled correctly when the problems are exported into a Gym contest?
Partial scoring seems to work in IOI-format mashup contests at least, the scoreboard is updated correctly. I assume it works in public Gym contests too.
There's a minor quirk, however: even if all test groups are solved, the verdict is still "Partial score: 100 points", for example. I think that a complete solution should be listed as "Accepted: 100 points" or something similar.
Finally! This will make it a lot easier to prepare school contests :D
In addition, it would be perfect if we could tag groups for each test in a programmable manner. Currently there is setGroup() function in the validator, but it is not reflected to the actual group data. Any future plans on that?
the update began ? i see nothing in my polygon account :\
You can enable points on the General Info tab of a problem.
Hopefully that means we'll be getting IOI gyms soon
спасибо, три года это ждал <3
P.S. так, а теперь кто тот супергерой, который переделает все ioi-задачи с тренировок по neerc.ifmo.ru/school в нормальные?
Возможно, получится автоматизировать этот процесс, попросив жюри дескрипторы в их формате.
Thank you, the partial scoring is an amazing addition! I've been waiting for this for a while.
Partial scoring has always been an option; it's just a lot easier to use now. Even before, you could instead of this
do this
to get partial scoring.
Yes, but previously it wasn't possible to require that all tests in a subtask must pass before getting any points. This was a problem because sometimes subtasks with larger constraints contain some small tests (edge cases, for example). With the previous system the contestants would get extra points for those tests without actually solving the subtask.
Also, the score of a subtask was pretty much dependent on the number of tests in it assuming the checker returned a constant number of points on AC verdict.
So yeah, the new system is a lot easier and more versatile.
Is there a way to assign points for one test group, not just individual test cases?
If I want a subtask with 30 test cases to be worth 20 points, it's not like I can set each test case to have 2/3 points exactly...
You can assign all points to a single test in the group and leave other tests 0. This works if point policy is COMPLETE_GROUP.
If I want to upload the test cases with a .zip file,, Can I assign more than one test case to a group at the same time ?
Use checkboxes to select a group of tests. Also you can use Shirt+click to check a range of tests. After it click "Group" in the header of the table of tests.
Is there something that we can do about tasks with partial scoring? Like the score for a subtask will be the lowest score of all test cases within the subtask?
Hey all!
I'm just wondering if there has been a solution for this yet? I'm sorry if I've missed it!
I'm trying to make an interactive question in Polygon with the final subtask as a partial scoring subtask, where the score for the subtask depends on the maximum number of queries amongst all testcases in the subtask (and the score can be any value from 0 to 20).
I've currently tried to use the
quitf(_pc(X), "response")
andquitp(_pc(X-16),"response")
, but both of them seem to give me the full 20 points regardless of the number of queries used. Is there an alternative method to do this?Any help would be appreciated!
Thanks!
Have you figured this out eventually? I can't get it working. Maybe Polygon/Gym doesn't support actual partial scoring.
Unfortunately, no :(.
For our contest, we eventually just split it into a series of subtasks, each with fixed limits for number of queries. Hopefully this can get added sometime :)
Присоединяюсь к Mistra по поводу вердикта при прохождении всех тестов — было бы неплохо показывать при этом Полное решение, а не Частичное решение. И еще при отправке авторских решений через меню администрирования в мэшапе почему-то выставляются удвоенные баллы. Если отправить решение просто через интерфейс отправки, то все ок.
Как давать баллы за группу? Есть ли способ лучше, чем ставить Points/Tests баллов за каждый тест этой группы?
Upd. Все понял. Только один тест с баллами делаем, а все оставщиеся тесты будут стоит 0 баллов.
If I want to create my own Problem and add it to personal team contest, how can I do that?
If I do internal trainings in Saratov State U. I do:
Thanks in advance. Is there any tutorial I can read to create problem in Polygon?
Круто, спасибо!
А можете, пожалуйста, подумать о указании группы сразу в генераторном скрипте? Что-то типа
gen > $testset1
Обнаружил следующие проблемы:
@fcspartakm Please check this issue --
I am seeing the "Groups points policy and dependencies" place like above. Though I added groups, it is not being shown there.
Another problem is, when I add points and click "Set points" it works fine, and reloads page. But when I set groups and click "Set groups", nothing happens, I needed to refresh page manually to see the group assigned. Also, when did with multiple test files, it sets group to only one test. :|
Aslo when I add test manually with "Add Test", if I assign Group then nothing happens after clicking "Create". But works with only points set.
Fixed.
Dear MikeMirzayanov, till now no IOI styled competitions have been held :( Will we have such competitions in the near future?