bicsi's blog

By bicsi, history, 4 years ago, In English

Hello Codeforces!

For the past couple of years I have been developing a competitive programming platform that would aggregate solutions from different OJs. It was initially written for assigning tasks for my preparations (and some professors used it in our university for grading students in algorithmic courses).

Recently I have been developing a "ladders" feature, because I wanted to train and realized that this would be the best way to do it. Now, I am excited to say that I have decided to "go public" with this feature and invite you to try it out.

How it works

Do the steps below:

  • Create an account at https://competitive.herokuapp.com
  • Add your handles to your profile (Codeforces/Atcoder/etc.)
  • Go to ladders and start solving problems
  • When you start a task, a 2-hour timer starts; you have to solve the task in this time limit
  • Tasks that are solved successfully are marked green, tasks that were unsolved are marked red
  • You can also see a leaderboard with the best performances for the ladders

Tasks should be given according to your level, so if you are good, expect harder tasks to come up in your ladders.

Please don't grief

I will have a strict policy against griefers. If you do one of the following, you will probably get banned:

  • Add a Codeforces/Atcoder/etc. account that is not yours
  • Try to mess with the website in any way that would harm the data inside it
  • Create any scripts that would mass-create tasks/groups/etc
  • Exploit bugs of any sorts
  • Please don't lie to yourself and cheat

If I see many of such attempts, I will discontinue the website. If you see someone do this, or get affected by it, please report it by completing the feedback form.

Other features of platform

I might come back here later to showcase some other nice features that I have been using on this platform. Until then, feel free to explore :). If you have ideas of interesting features, please let me know below :).

Problems?

Please let me know if you find any problems by completing the feedback form on the website, or by writing in the comments. The website is still in development, and there will be a lot of changes in the future.

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

| Write comment?
»
4 years ago, # |
Rev. 3   Vote: I like it 0 Vote: I do not like it

I registered at the site and tried to log in, but it did not let me in and didn't even write an error message. What could be the reason?

UPD: You just have to enter your login and not your email. Yep, just right after the @ icon.

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

    Same thing happened with me, logging in with the handle solved the problem. It should be fixed thought, at least they should show some error message.

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it +15 Vote: I do not like it

      Unfortunately unsuccessful logins don't come up with a message. I will make sure to add a message soon.

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I found a bug: on csacademy it gave the link https://csacademy.com/contest/archive/task/contained-intervals even though it's not correct and https://csacademy.com/contest/interview-archive/task/contained-intervals/ is correct.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +11 Vote: I do not like it

    Thanks for letting me know! If you solve the problem correctly does it register on the website?

»
4 years ago, # |
  Vote: I like it +8 Vote: I do not like it

In Ladders, previously solved problems are appearing. It would be better if only unsolved problems are there on the ladder.

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

    This is weird, as the algorithm that picks the task should only choose ones which haven't been solved yet. Could you give me more details about what the task was and your username?

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      https://codeforces.com/problemset/problem/1250/J this is the task and my username is amangoel1234. Also, it works only if we submit through the go to task link and not if we submit it from the problem section. This feature would also be helpful.

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      It also happened to me, my task2 was 380C and my username is Nson. I have solved it 3 years ago, maybe you don't get the full history.

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Is something wrong with the tasks feature? I am just rated 380 and in the task, it gives me a problem to solve of rating 2100. I think its much higher level for me to solve now.

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

    Unfortunately, the task recommender is still work in progress, and I've seen that it is particularly bad for beginners. The main reason is that it uses the internal difficulty ratings of the problems instead of the Codeforces one. I will try to see what possible solutions there are, and I am definitely open for ideas :).

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      It will be very good if the tasks difficulty will be some more from our rating . It will be not very hard for us . Also thanks for the platform bicsi !

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it +11 Vote: I do not like it

      For some reason, at least the first problem the system gives to me is clearly too easy (div2c problem, 1400 rating tag). Should I expect more difficult problems as later problems?

      • »
        »
        »
        »
        4 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        and the first problem that i got has a rating of 2200 :(

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

hey I wanted to ask how exactly does this tool assign tasks? I mean what is given priority the difficulty of task or the topics it covers?

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +11 Vote: I do not like it

    The platform has an internal difficulty system (a not-so-great attempt at rating problems from all judges based on who solved them in this platform). You can see that each task has a number of points, roughly proportional to the expected difficulty. Sadly, this means that even moderately hard problems can get low ratings if they were solved by many users on the platform (as a homework, for example). However, this should at least in practice get better as more and more users enter the platform.

    The platform looks at the hardest $$$N$$$ problems that you have ever solved, and picks a task whose difficulty is in that range. It doesn't look at topics yet, but it is one of my plans for the future.

    • »
      »
      »
      4 years ago, # ^ |
      Rev. 2   Vote: I like it +11 Vote: I do not like it

      I have a suggestion regarding problems rating: Let each user has a rating, and each problem has a rating, then when a user opens his ladder and tackles a problem, it's considered a match between the user and the problem, where the user wins iff he gets the problem within 2 hours, and both of the user's and the problem's ratings get updated accordingly.

      Of course, this will have drawbacks, because some people may cheat and some people may not be serious enough and just skip the problem. But I think the larger the userbase, the more accurate the ratings will be. Also, some users can be considered trusted users somehow, and then only these users can do rated matches against problems. Also, for CF problems, you can let their initial rating equal to their CF difficulty rating.

»
4 years ago, # |
  Vote: I like it +17 Vote: I do not like it

Can I get some insights about the word " Personalized "?

Tasks should be given according to your level, so if you are good, expect harder tasks to come up in your ladders.

I just registered on your website, entered the handles of my profiles (of Codeforces, Atcoder, CSAcademy and Timus), went to the 'Ladders' section and the first problem I got is a Div-1 C 2300 rated problem

»
4 years ago, # |
  Vote: I like it +30 Vote: I do not like it

You can verify linked accounts through asking the user to submit a Compilation Error code in some specific problem, or changing his first name to a specified string, within a minute.

»
4 years ago, # |
  Vote: I like it +1 Vote: I do not like it

Why pages are loading slowly?

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

After you solve a problem you have to wait about a minute for site to register your solution. I think a button that manually runs check will help.

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

    I think another option would be to check for updates more frequently (each 30s, for example) for users and problems that are currently running on the ladder. I would prefer to make extra effort for the platform to be as seamless as possible, rather than commit to having users manually clicking buttons for it to update :).

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

There is an error with problems like that. Url of statements is broken because of space symbol and when I solved this problem site said "Not tried yet".

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    It seems to me that the website managed to register submissions for that task, so it might not be that. One thing that I saw with Codeforces Gyms is that if you have Coack Mode activated while submitting for a task, your submission is not public (only you can see it). Check if that is not the case.

    I changed the time limit of your task to 5h. Try to resubmit without coach mode (if you have it active), and let me know if that works :).

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I resubmitted my solution without Coach Mode (it was active) and it worked. Thanks!

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I think the problem recommendation algorithm is a bit messed up. I have never solved any problem >2000 rating till now but the first problem it recommended me was of 2900 rating.

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

It is showing an application error when I am trying to access the ladders. [edit]: Now it is working fine.

»
4 years ago, # |
  Vote: I like it +1 Vote: I do not like it

Due to the numerous requests, I have decided to make the algorithm easier for new users. If you want your harder tasks removed, please tell me your usernames on the platform as a reply to this comment (or leave a message at https://competitive.herokuapp.com/feedback/).

You might have noticed that some pages are slower to access. I will be working on solving that, by transitioning from the current architecture to a single-page app front end. This will hopefully make things smoother in the future, but it is not the easiest thing to do and might take a week or two.

One extra thing for new users: it might take a little bit of time from when you add your account on certain OJs to when your solved tasks are updated on the platform (mostly because some OJs don't provide means to get all submissions of some user). I will come up with a workaround in the future; however, at the current time, all your submissions should automatically appear on the website after at most one day.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    After submitting the feedback, it is giving Internal Server Error :(

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Login is not working! Every time I try to log in they redirect me to the same login page!

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    You need to log in using your username that you registered (not e-mail). Let me know if it works.

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

Can Codechef be added among the judges?

Can It so happen that the starting rating of problems can be predecided to a certain lvl... my starting problem was of 1200 rating on codeforces.

»
3 years ago, # |
  Vote: I like it +1 Vote: I do not like it

I recieved heroku logs error when I tried logging in.

Application error An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command heroku logs --tail

»
2 years ago, # |
  Vote: I like it +19 Vote: I do not like it

Your django admin is exposed to the internet, not a good practise I reckon

»
21 month(s) ago, # |
  Vote: I like it 0 Vote: I do not like it

How much time does it take for the total points to be updated? For me it shows 5 tasks as solved. But corresponding points doesn't show up on my profile page.