Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reducing multiple counting #28 #32

Merged
merged 2 commits into from Jul 22, 2021
Merged

Conversation

maskmanlucifer
Copy link
Contributor

This is how reduced multiple counting.

Research part --

  1. 90% of the (Div-1 and Div-2) which happen same day but separately have consecutive contest ID.

Why there was multiple counting --

  1. As of now the unique Id assigned to a problem is (contestID + index of problem).
    This approach of unique index is not that accurate because let's say you have same problem on same day in
    Div-1 and Div-2 separately at index (A and C) then they will be considered different problems (1334-A , 1335-C).
    This is why there was a problem of multiple counting.

How i solved it --

  1. I created unique id of problem as (contestID + problemname + rating of problem).
    Now for each problem we have two scenario.
    i) Current problem is Div-1 A and we have already solved Div-2 C here both Div-1 and Div-2 round will have same name
    and rating of the problem so i am checking if in just next contest we have solved a problem of same name and
    same rating and doing rest of updates.
    ii) Same for the case if current problem is Div-2 C then i am checking previous contest.

How much new code affects accuracy --

  1. Number of unsolved problem might reduce bcoz you might have 3 WA in Div-1 A but 1 AC in Div-2 C.
  2. Max AC of any problem will now to sum of AC of both Div-1 A and Div-2 C.
  3. Rating wise count of some problem might be reduced bcoz now we will count only one between (Div-1 A and Div-2 C).
  4. Solved with one submission might reduce bcoz may be i have AC in one go in Div-1 A but i have already have 20 WA in
    Div-2 C.

@maskmanlucifer
Copy link
Contributor Author

Sakib please review changes, say if i have to change anything.

@sjsakib
Copy link
Owner

sjsakib commented Jul 22, 2021

Looks good! Nice work. Thanks for your contribution

@sjsakib sjsakib merged commit 3ea9dca into sjsakib:master Jul 22, 2021
@ps-19
Copy link

ps-19 commented Aug 21, 2021

Hi @sjsakib,
Great to see you @maskmanlucifer sir here. Really Great Solution. But still their is an issue. #6

If question matches then, whichever you solve first is counted in your submission. If you solve Div-1 A not Div-2 C count of A will be increased, after this PR C's count won't increase as is was previously (really great solution by @maskmanlucifer ).

But still A(and others) does not defines rating range of any problem, it could be 1800 Div-A or 1100 Div-2 A or 800 Div-3 A. If question matches greedily you could increase count of C instead of A.

Solution: Just Define rating range for all alphabet A(800-1200) and others. Owing to rating range of problem increase the count.

@maskmanlucifer
Copy link
Contributor Author

Hi @sjsakib,
Great to see you @maskmanlucifer sir here. Really Great Solution. But still their is an issue. #6

If question matches then, whichever you solve first is counted in your submission. If you solve Div-1 A not Div-2 C count of A will be increased, after this PR C's count won't increase as is was previously (really great solution by @maskmanlucifer ).

But still A(and others) does not defines rating range of any problem, it could be 1800 Div-A or 1100 Div-2 A or 800 Div-3 A. If question matches greedily you could increase count of C instead of A.

Solution: Just Define rating range for all alphabet A(800-1200) and others. Owing to rating range of problem increase the count.

I think the correct measurement for any problem should be problem rating not (A,B,B1,B2) type something.
With this pull request i was only meant to solve redundant counting problem and i didn't wanted to make any front end change so i just left things as it is and did my job only in backend (Redundant counting).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants