Closed maskmanlucifer closed 3 years ago
Sakib please review changes, say if i have to change anything.
Looks good! Nice work. Thanks for your contribution
Hi @sjsakib, Great to see you @maskmanlucifer sir here. Really Great Solution. But still their is an issue. https://github.com/sjsakib/cfviz/issues/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.
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).
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.