sjsakib / cfviz Goto Github PK
View Code? Open in Web Editor NEWVisualizes user data from codeforces.com using the official API
Home Page: http://cfviz.netlify.com
Visualizes user data from codeforces.com using the official API
Home Page: http://cfviz.netlify.com
How to use rating change feature ?
I mean how to get Penalty and Points that is required to fill ?
hey! Sakib
i want to work on multiple counting issue of problems (total solved).
I can reduce redundant counting to almost negligible level.
This will come with little bit time cost but will work quite well.
Should i work on that or someone else is already working on that ??.
Hey sakib i think there is some problem on compare page.
i am facing this error (can not read property do of undefined.
For common contests, sort contests in decreasing order of rating update time.
Throwing Error "Couldn't find user" again for all users
https://cfviz.netlify.app/
Now that problems have rating tags, is it possible for you to add a bar chart showing how many problems of each rating level have been solved?
First contest can be considered as starting elo, it doesn't reflect best performance in any way. So i feel it's pointless to include in the max up, especially when we should actually be talking about deltas. For example, if someone started at 1400, (with old rating starts), this will be considered their best performance.
The current algorithm for computing the places
array is wrong. For example there are 3 users with rank [1,2,3]
and the virtual user is strictly worse than the user with rank 1 and strictly better than the user with rank 2, then the resulting places
array is [1,2,2,3]
instead of [1,2,3,4]
(which becomes [1,3,3,4]
instead of [1,2,3,4]
after recomputing rank)
What's the best way to solve the problem?
places
array doesn't need to be correct and only equality of adjacent elements matters. (for example [1, 1.5, 2, 3]
is equivalent to [1, 2, 3, 4]
)Diff:
diff --git a/js/calculate.js b/js/calculate.js
index 1a4f4a6..6dfbdec 100644
--- a/js/calculate.js
+++ b/js/calculate.js
@@ -89,6 +89,19 @@ function process(contestants) {
}
+/**
+ * Calculate rating changes.
+ *
+ * Arguments:
+ *
+ * previousRatings: An array of previous rating of contestants.
+ * standingsRows: An array of contestant ranks. This array must be
+ * non-decreasing, and the ranking of two adjacent contestants must be the
+ * same if and only if they have the same points/penalty; however the exact
+ * value does not matter - for example [1, 2, 3, 3] and [3, 6, 7.5, 7.5] are
+ * considered equivalent.
+ * userId: An array of contestants handles (strings).
+ */
function CalculateRatingChanges(previousRatings, standingsRows, userId) {
var arr = [];
for (var i = 0; i < standingsRows.length; i++) {
diff --git a/js/vir.js b/js/vir.js
index 615b0ba..833ede9 100644
--- a/js/vir.js
+++ b/js/vir.js
@@ -94,7 +94,7 @@ function refresh() {
if ((points > rows[i].points || (points == rows[i].points && penalty <= rows[i].penalty))
&& rank == -1) {
handles.push('virtual user');
- places.push(rows[i].rank);
+ places.push(points == rows[i].points && penalty == rows[i].penalty ? rows[i].rank : rows[i].rank - 0.5);
rank = rows[i].rank;
}
if (userHandle == rows[i].party.members[0].handle) {
Also: If the virtual user is worse than all of the participants, then the result will be the result of the last computation.
During the past week, I noted that after solving following problems
601A Div1
687A Div1
282C Div2
687B Div1
442B Div1
340D Div2
671A Div1,
number of A increased by 3, and there was no increase in number of C solved.
Sometimes (rarely) there are optimization contests on Codeforces, the results for these tasks are always partial scores
. These submissions affect many of the categories because they are not considered as Accepted
solutions. So, there is a need to filter such submission so that one can get a better view of the CP Problems they have solved on Codeforces, and not mix the rare optimization problems.
In my CF profile I see that I have solved 206 problems, but in CFviz there are only 186. I have also tried solving more problems than I have in CFviz. I'm not sure it is a problem on CFviz side, but I better report than not.
Similar to github-readme-stats, it's friendly in writing a markdown file.
[![Anurag's GitHub stats](https://github-readme-stats.vercel.app/api?username=anuraghazra)](https://github.com/anuraghazra/github-readme-stats)
what about adding two fields under the handle. one for the API key, and the other is for the API secret. check codeforces API authorization on how to get private data using the API info. so the user can keep track of his private submissions. ๐
It nowhere includes the no of problems solved inside the codeforces' gym which is kinda bad for analyzing one's performance.
When virtual rating change was fed with -1e22 as the rating, an integer overflow occurred.
Rating given by the user should be restricted or "clamped" to a reasonable range.
I recently did a profile test and found out that now it is considering the base rating (that is, the rating before any contest) as 1200 instead of 1500 (which is the base rating for a user that Codeforces considers).
Due to this, the Max up
is showing up as 288
(actually I had a -12
for my first contest, as my first rating was 1488
), and that surely isn't my Max up
as of now. I clearly remember that earlier it used to work correctly.
Link to the codeforces api website in the readme not working.
Current Readme Link: http://codeforces.com/api/help
Current working API Link: https://codeforces.com/apiHelp
I want to fix it.
Currently every user search on https://cfviz.netlify.com/ throws the error: "Couldn't find user".
Would be great, if you can fix this.
The text "Be the first...." is also cropped off.
You can get rid of the button, replace it with some other sharing feature because facebook recommend is pretty outdated honestly, or fix the current functioning. I would like to work on this and fix it whatever you decide is the way to correct this!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.