### fcspartakm's blog

By fcspartakm, history, 4 months ago, translation, ,

Hello, Codeforces. Below you can see the improvements in the system Polygon.

A lot of work has been done to simplify the preparation of school tasks, which use groups and points for tests. In the General Information tab, you can enable the points option for each test. This option is enabled points for the whole problem, that is, for tests from all testsets. Let me remind you that test groups can be enabled for each testset separately on the Tests tab.

#### Points for groups, points policies, dependencies

Points for the test, as well as groups, can be entered in the table with the list of tests, and also specify them when creating a new test. If the group for the test appears for the first time, it will be automatically added to the list of available groups. This list is presented in the table.

Here the problem developer can specify a policy for calculating points for the group, and also specify from which groups the current group depends on. The are two types of the points policies. The first type of the points policy is EACH_TEST, in which case points will be added for each passed test from this group. The second type of the points policy is COMPLETE_GROUP, in which case the points for the group will be added only if all tests from this group have been passed.

Also, you can now add dependencies on other groups for each group. If group A depends on group B, then regardless of which of the tests of group A were passed, you will get 0 points for all tests of group A if at least one of test of group B is not passed.

#### Solution tags by groups and testsets

In Solutions tab now you can specify a tag for each solution for each existing testset and for each existing group. The interface for working with tags is presented below.

When the invocation is started, all the information about groups, points, dependencies and tag solutions are now taken into account. The points for each group will be calculated according to the group's points policy, as well as according to the groups on which the current group depends. If the solution violates at least one of its tags, the invocation will be highlighted in red, and the information about violation tags is available in detailed invocation report.

All information about test groups, points and solution tags added to the problem descriptor on the stage of building packages. Here you can find the example of the descriptor of the school problem.

Thank you for attention! We hope that the described improvements will be useful to you.

•
• +633
•

 » 4 months ago, # |   +4 That sounds amazing! :)Are those partial scores handled correctly when the problems are exported into a Gym contest?
•  » » 4 months ago, # ^ | ← Rev. 2 →   +21 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.
 » 4 months ago, # | ← Rev. 2 →   +1 Finally! This will make it a lot easier to prepare school contests :DIn 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?
 » 4 months ago, # |   +10 the update began ? i see nothing in my polygon account :\
•  » » 4 months ago, # ^ |   +13 You can enable points on the General Info tab of a problem.
•  » » » 4 months ago, # ^ |   0 thanks its really a good option : )
 » 4 months ago, # |   +51 Hopefully that means we'll be getting IOI gyms soon
 » 4 months ago, # |   0 Thank you, the partial scoring is an amazing addition! I've been waiting for this for a while.
•  » » 4 months ago, # ^ | ← Rev. 3 →   0 Partial scoring has always been an option; it's just a lot easier to use now. Even before, you could instead of this quitf(_ok,"whatever"); do this quitp(_pc(pointsYouWantPerTestCase-16),"whatever"); to get partial scoring.
•  » » » 4 months ago, # ^ |   +3 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.
 » 4 months ago, # |   +10 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...
•  » » 4 months ago, # ^ |   +43 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.
 » 4 months ago, # |   0 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 ?
•  » » 4 months ago, # ^ |   +9 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.
 » 4 months ago, # |   +18 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?
 » 4 months ago, # |   0 If I want to create my own Problem and add it to personal team contest, how can I do that?
•  » » 4 months ago, # ^ |   +3 If I do internal trainings in Saratov State U. I do: create special private group for trainings, invite my students into it (once); create mashup containing problems from Polygon/old CF contests; use mashup settings to set start time and other policies; add mashup to the group.
•  » » » 4 months ago, # ^ |   0 Thanks in advance. Is there any tutorial I can read to create problem in Polygon?
 » 4 months ago, # | ← Rev. 3 →   +7 @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.
•  » » 4 months ago, # ^ |   -11 No fuckin' body cares. :)
•  » » 3 months ago, # ^ |   +12 Fixed.
 » 2 months ago, # |   +8 Dear MikeMirzayanov, till now no IOI styled competitions have been held :( Will we have such competitions in the near future?