fcspartakm's blog

By fcspartakm, history, 11 days ago, translation, In English,

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.

Updates in Invocations

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.

Updates in Packages

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.

 
 
 
 
  • Vote: I like it  
  • +633
  • Vote: I do not like it  

»
10 days ago, # |
  Vote: I like it +4 Vote: I do not like it

That sounds amazing! :)

Are those partial scores handled correctly when the problems are exported into a Gym contest?

  • »
    »
    10 days ago, # ^ |
    Rev. 2   Vote: I like it +21 Vote: I do not like it

    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.

»
10 days ago, # |
Rev. 2   Vote: I like it +1 Vote: I do not like it

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?

»
10 days ago, # |
  Vote: I like it +10 Vote: I do not like it

the update began ? i see nothing in my polygon account :\

»
10 days ago, # |
  Vote: I like it +51 Vote: I do not like it

Hopefully that means we'll be getting IOI gyms soon

»
10 days ago, # |
  Vote: I like it 0 Vote: I do not like it

Thank you, the partial scoring is an amazing addition! I've been waiting for this for a while.

  • »
    »
    9 days ago, # ^ |
    Rev. 3   Vote: I like it 0 Vote: I do not like it

    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.

    • »
      »
      »
      9 days ago, # ^ |
        Vote: I like it +3 Vote: I do not like it

      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.

»
10 days ago, # |
  Vote: I like it +10 Vote: I do not like it

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...

  • »
    »
    10 days ago, # ^ |
      Vote: I like it +43 Vote: I do not like it

    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.

»
10 days ago, # |
  Vote: I like it 0 Vote: I do not like it

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 ?

  • »
    »
    10 days ago, # ^ |
      Vote: I like it +9 Vote: I do not like it

    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.

»
10 days ago, # |
  Vote: I like it +18 Vote: I do not like it

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?

»
8 days ago, # |
  Vote: I like it 0 Vote: I do not like it

If I want to create my own Problem and add it to personal team contest, how can I do that?

  • »
    »
    8 days ago, # ^ |
      Vote: I like it +3 Vote: I do not like it

    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.
    • »
      »
      »
      8 days ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Thanks in advance. Is there any tutorial I can read to create problem in Polygon?