nilesh8757's blog

By nilesh8757, history, 5 years ago, In English

I was solving some easy problems here ( div2.A/B ) and then I came across this problem which requires nothing but just straightforward implementation. But then I was confused to see the difficulty rating (a recently added feature) for this problem. Is it some kind of bug ?

wrongdificulty

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

»
5 years ago, # |
  Vote: I like it +18 Vote: I do not like it

Correct me if I'm wrong. Difficulty rating is calculated according to the people who solved the problem during the contest. Since this is a quite old contest, a lot of participants are now Candidate Masters or higher when the difficulty rating was introduced. That explains why the difficulty rating is that high.

  • »
    »
    5 years ago, # ^ |
    Rev. 8   Vote: I like it +5 Vote: I do not like it

    In the blog which MikeMirzayanov introduced this helpful scale, he commented that the difficulty rating was computed based on the contestant rating during the contest.

    P.S. The history of the Contest Rating for every contestant as a function of time since registration is available in the profile information.

»
5 years ago, # |
Rev. 2   Vote: I like it +2 Vote: I do not like it

In various places, I've also noticed difficulty ratings be seemingly buggy. Either it's a div2 contest with all ratings > 1800, or within a round where a problem with much less solves gets a lower rating than a problem with only one or two solves.

Basically, I suspect there are a couple of bugs in the rating calculation.

Edit: I thought I should give an example. Take a look at contests 26-28. https://codeforces.com/problemset/page/47. Even more specific example, take a look at https://codeforces.com/problemset/problem/26/A with rating 2400. Nothing weird happened during this contest, and 480 out of 500 of the contestants solved it. It's pretty obviously not correct.

  • »
    »
    5 years ago, # ^ |
    Rev. 5   Vote: I like it +1 Vote: I do not like it

    RE: Div 2 contest with all its problems having difficulty ratings > 1800

    Perhaps a staircase-wise upper-bound such as the following is sufficient to regulate the problem difficulties within the same contest:

    Contest      Problem Threshold
    Div 3        1000 1200 1400 1600 1800 2000
    Div 2        1600 1800 2000 2200 2400 2600
    Div 1        2200 2400 2600 2800 3000 3500
    Educational  1400 1600 1800 2000 2200 2400 2600 2800
    

    RE: a problem with much less "present" accepted solutions has lower difficulty rating

    The reason for this discrepancy appears to be that the difficulty rating is a static number that is not updated dynamically when more solutions are accepted during the practice phase.

    P.S. The example threshold levels were updated based on the histogram data.

  • »
    »
    5 years ago, # ^ |
    Rev. 8   Vote: I like it +7 Vote: I do not like it

    I have just reviewed the present histogram of the difficulty ratings using the filtering feature. The present 4721 problems in the problem set can be clustered into the following 12 groups with respect to their associated difficulty ratings.

    Group Difficulty Range      Group Size
    A.     500-1000                392
    B.    1100-1200                415
    C.    1300-1400                429
    D.    1500-1600                497 
    E.    1700-1800                503
    F.    1900-2000                442
    G.    2100-2200                447
    H.    2300-2400                473
    I.    2500-2600                437
    J.    2700-2800                324
    K.    2900-3000                190
    L.    3100-3500                172
    
    

    It should make sense that problems of future contests belong to the aforementioned groups as follows.

    Contest      A B C D E F G H I J K L   Difficulty Range
    Div 3        * * * * * *                 500-2000
    Div 2              * * * * * *          1500-2600
    Div 1                    * * * * * *    2100-3500
    Educational      * * * * * * * *        1300-2800