Pirate_ksh's blog

By Pirate_ksh, 4 years ago, In English
UPD(July 24, 2020)
UPD(July 19, 2020)
UPD(July 14, 2020)
UPD(July 11, 2020)
UPD(July 10, 2020)

Hello Everyone! I have made a web app Codeforces Upsolving Helper using Codeforces API.

Q. What Codeforces Upsolving Helper does ?

  1. Compiles at one place all your Unsolved problems of Codeforces that you attempted (submitted their solution at least once) but could not get Accepted verdict.

  2. The problems can be segregated by Index (i.e. A, B, C and so on) OR Problem Rating (i.e. Less than 1000, Between 1000 and 1200, and so on).

  3. Moreover, in each section, they are sorted in increasing order of rating.

  4. Recommends Unattempted Problems from Past Contests or All Problemset.

  5. Team Mode for Team Upsolving Sessions.

Q. Why Codeforces Upsolving Helper?

  1. Currently, on the Codeforces website, we could not see all our unsolved problems at once (only the latest 15 are visible at once), hence, this app works as a solution to this.

  2. Thus it helps in / eases the process of finding old problems for up-solving.

  3. It recommends problems from Past Contests or All Problemset according to your rating.

Q. What is Team Mode?

  1. In Team Mode, you can enter handle(s) of your team members separated by comma(,) ( max. 5 handles ).

  2. On pressing Enter, you will get the list of those problems of Codeforces which has been attempted by at least one member of your team but is solved by none.

  3. Problem Recommender similar to Normal mode.

Still Confused about Team Mode?

If your WHAT and WHY are satisfactorily answered, Check out the deployed app @ Codeforces Upsolving Helper and share with your mates.

Link to Github Repository

PS: Glad to know that Codeforces Upsolving Helper has been included by Ashishgup in his blog ( Codeforces Data Scraping Websites ) having a list of such websites which he found useful.

Feel free to provide feedback / constructive criticism.

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

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

Great Work Pirate_ksh. Just a small doubt, however, during contests of div1 and div2 happening simultaneously, the same problem gets repeated in both the contests with different problem codes. Codeforces somehow shows it in green, showing I have solved the problem in both the places. But the Upsolver shows it as yet to be unsolved. Anything that can be done regarding this?

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

hey Pirate_ksh that was awesome.there are some problems on codeforces which are still unrated.so can u seaparate those from them which are rated.

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

    Hey gol_en_05 , thankyou! Check out the new update. Now Problems can be segregated based on Problem Rating. Unrated problems are at the end. Let me know if this is what you were talking about or not.

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

      yes.

      Also, when the problems are segregated by index and in each section they are sorted by ratings if a problem is unrated.you can separate it from those which are rated.

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

nisiddharth Don't you think sometime still most awaited feature will be who added you as friend? Biggest "Exposed" operation and many users will loose friend that day.

BTW, Pirate_ksh great efforts, hope to see more from you.

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

    Thankyou ashu12_chi :).

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

    I don't think it would be supported by the CodeForces API. It is against privacy of the person who added the other as friend :D . Unless this friends feature was something two sided, like FB. (I didn't checked the API before commenting :D)

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

      Obviously, that's why I write it is awaited, because it is not supported but supporting this would be fun.

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

I suggest you to sort problems by difficulty. Problem letters are almost always meaningless.

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

    UPD: IMPLEMENTED
    CtrlAlt Thankyou for your suggestion! I will try to add this feature where problems are segregated by rating.

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

Great work Bro !

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

Good job bro...Really helpful..!:)

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

Hello! Great app! I had a suggestion for improvement, if in addition to the unsolved problems in contest, if the next most difficult unsolved problem (for eg., if we solved ABC, D could be added) could be added from each participated contest, that would be better for upsolving.

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

    Hello sharatsachin ! Glad you liked it. Thankyou for your feedback. Currently the website displays only those problems which are attempted but unsolved. About your suggestion (for eg., if we solved ABC, D could be added) , I want little clarification:

    CASE 1: In Contest #999,
    * A, B and C solved (AC verdict) by user.
    * D attempted but unsolved (could not get AC verdict).
    * E, F, etc problems unattempted.
    Now Problem D should be displayed for Contest #999 in the website as it is attempted but unsolved problem.

    CASE 2: In Contest #999,
    * A, B and C solved (AC verdict) by user.
    * D, E, F, etc problems unattempted.
    Now Problem D should be displayed Contest #999 in the website as it is next unattempted problem.

    Note: Contest #999 is just taken as an example.

    Please write back clarifying which of the above two cases were you talking about.

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

      sharatsachin is probably talking about case 2. If not then I was also thinking to suggest case 2. It makes sense to consider the next "unsolved" problem, irrespective of any submission. And I guess case 1 is already a part of this app. Thanks Pirate_ksh for this upsolving helper, but the case 2 feature is must to have for this app.

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

    sharatsachin and mr_robot11, Unattempted Problem Recommender has been implemented. Check it out and give feedback. :)

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

      Sorry to inform you, but its not working. Example: Today I participated in Div 2 #657. Solved A & B. So the next unsolved will be C ( Problem: Choosing flowers). But I am not able to find it on upsolver. Please look into it.

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

        mr_robot11 That was because I forgot to update the Locally Saved Problemset after Codeforces Round 657 (Div. 2) . Now C. Choosing flowers appears in Hard Category after entering your handle.

        Also, even now you might not always get to see your most recent contest problem because in each category only atmost 10 problems are displayed at a time. If you want me to alter this setting, let me know.

        Apart from this, any other suggestion in Recommender feature is also welcome!

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

@Pirate_ksh awesome website bro with an amazing UI. truly loved it.

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

Hey, I have a feature request. In Recommendations section I only see problems from the contests I participated. Since these are few, I have a very limited choice. It would be great to have a section similar to Recommendations, but with problems of similar difficulty from the whole problemset.

Other than that, it's a great tool, good job!

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

    Hey ekaerovets! Glad you liked it. Thanks for your suggestion. I will try to implement it as soon as I can! :)

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

    ekaerovets, now there is an option to choose between Recommended problems from Past Contests or random problems from All Problemset. Check it out and give your feed back. :)

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

      Wow, now that's the tool I'm gonna use to plan my practice sessions! Good job, many thanks!

      By the way, does the description of the groups (want to warmup / want to maintain rating / want to improve rating) has any underlying research data or there are more like colloquial names? I had a feeling that the chosen problems a bit harder than what description says (just a personal opinion)

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

        ekaerovets No the descriptions are not based on any research data as such. I just came up with them.

        Though I agree that problems are a bit harder according to description of that section.

        May be I can change the descriptions like this —
        - Easy -> Warmup
        - Medium -> Maintain Rating
        - Hard -> Improve Rating
        - Extreme -> Adrenaline Rush and so on...

        Tell me if these descriptions resonate better with the difficulty level of the problems of that section, I'll be happy to make changes.

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

          Yes, I think the new descriptions will be more meaningful, though again I don't have any research data either)

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

Just need few clarification about your app algo:

In recommender mode, do you show the first unsolved problem irrespective of whether i have attempted it or not, or the next unsolved and unattempted problem? Like what if ABC is solved and D is attempted and unsolved and EF unsolved and unattempted, then would u show D or in recommender mode?

And do you search the whole problemset of the contest for these things or only the highest problem like i solved BC then would A be shown?

And as you stated that you only show atmost 10 problems at a time, so do you show the latest ten problems or some others?

I would suggest instead of restricting to only ten problems each make a next button in each category to show the next ten problems.

And what is this unrated section in recommender mode?

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

    Hi raghavrambo007!

    Query 1: In recommender mode, do you show the first ...

    Answer 1: In the example you gave in this Query, Problems E and F will be shown in Recommender(Past Contests) in their respective categories(Easy, Medium, etc) according to their problem ratings. Problem D will already be available in Unsolved Problem Section so it won't be repeated in Recommender Section.

    Query 2: And do you search the whole problemset ...

    Answer 2: Yes, the whole problemset is searched. About the example in this Query, if Problem A is Unattempted, then yes it will be shown in Recommender Section.

    Query 3: And as you stated that you only show ...

    Answer 3: Problems are sorted in increasing order of rating in each category. So, you can say easiest 10 problems (for that category) are shown in each category ( not necessarily latest 10).

    Query 4: And what is this unrated section in recommender mode?

    Answer 4: These are the problems which do not have a rating assigned to them. For Eg: This Problem 1357E1 - Power of quantum Fourier transform

    Thankyou for your suggestion of implementing next button. I'm on it.

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

Hello !

A gentle suggestion here. It would be great if the website somehow is able to distinguish between div2A, and div1A.

Example :

For me, problem 1 : https://mirror.codeforces.com/contest/169/problem/A And problem 2 : https://mirror.codeforces.com/contest/543/problem/A

Both come under A, and are unsolved, and are shown together. It would be nice, if you could somehow distinguish the two.

Otherwise, its good ! Great work !!

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

    Hi ritesh1340! I understand the issue. This is why I created Segregate By Rating option. In this the problems will be differentiated by their rating. So, D1A and D2A won't be in same category.

    Anyway, thankyou for suggestion. I will try to look into it and see if I can do something about it.

    Again, Thankyou for appreciation. :)

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

Hi! Maybe I'm doing something wrong, but when I'm entering my handle this site is showing problems not for my account, but for my friend's account(?!) Can you please fix it?

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

Great Job Pirate_ksh. I have suggestion/request to u :-) — many times one could not attend the live contests and hence take part in virtual contests. It will be nice if u extend this functionality to virtual contests also. Btw its very helpful.

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

    aditya99 Thankyou :)

    About your suggestion, are you talking about implementing Recommended Problems from Past Virtual Contests of User or something else?

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

For me, under recommended problems and the past contests options, I solved https://mirror.codeforces.com/contest/1389/problem/B in contest and again out of contest, but it still appears.

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

It's not working.

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

    Hey, yes. The website was hosted on Heroku and it has stopped providing free tier services, i.e. we cannot host apps for free now.

    Unfortunately, currently I am busy with my work so I am not actively maintaining this.

    Will try to find some other place to host it but no promises.

    Meanwhile you can clone it and run the app locally so that you can continue using it.

    Apologies for the inconvenience.