When submitting a solution in C++, please select either C++14 (GCC 6-32) or C++17 (GCC 7-32) as your compiler. ×

mostafa.saad.fci's blog

By mostafa.saad.fci, history, 5 years ago, In English

I used to encourage newcomers in our community to train using this sheet to avoid random training. By the end of the sheet, one will be very good up to Div2-D. It has been refined several times based on the received feedback

Sheet link https://goo.gl/unDETI

Please, check out the sheet before reading. The sheet is

  • Complete and consistent roadmap for newcomers: What to solve & algorithms to learn in order

  • In the bottom row, there are different sheet pages such as Faq, Topics, CF-C2

  • CF-C1, C2 are (Codeforces Div2 C problems (or similar level from other OJs), but from easy to hard). Same for CF-D1, D2, D3

  • Covering most of the topics needed up to Codeforces Div2-D

  • Problems increase in difficulty per topic with intermediate easy/medium problems + ad-hoc problems

  • Speed problems to maintain speed goals


One can train in one of the following ways:

A) Blind-Order training style

  • Problems are distributed in sheets CF-A, CF-B, CF-C1, ....CF-D3

  • It targets learning the knowledge/skills in a consistent and balanced way

  • Every sheet page is on average harder than the previous sheet page

  • This is my recommended way, though most camps/training-approaches don't use this style

B) Topics-Based training style

  • See the sheet page (Topics1). It has the same sheet problems (CF-A to CF-D3) ordered by category and level, around 950 problems. Also checkout Topics2 page

  • Ideas Quality column: P5 (important), P4(very interesting), P3(interesting), P2(good), P1(ok), Empty (normal)

  • You can train using Blind-Order, and use Topics page as a guide to skip some problems

  • Advantage: Mastering the algorithm till solving some hard problems in a short time

  • Disadvantage: Discovering the algorithm behind the problem is an important skill. Given that you know the topic, you lose a good space to improve this skill

  • Disadvantage: Being in the mode of specific algorithm lets you solve many of it easier. However, when solving in real contests, your mind is not so active on the specific topic

| Write comment?
»
5 years ago, # |
Rev. 2   Vote: I like it +60 Vote: I do not like it

it would be nice to have a training roadmap for oldcomers like me

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

It would be awesome if you could add some English tutorials. Still, your sheet is great. Thank you. :)

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

Thanks for your hard work Mostafa!

I just wanted to ask something and please do not take it the wrong way. I am considering of following your training roadmap, but this is a big commitment, so I would like to make sure it's a good roadmap. For me, it seems weird that you have only taken part in 9 contests and your score is close to 1600, but still proclaim to have the roadmap that can make you able to solve Div2-D problems. For this I would like to ask, is there something more you have been working on (are you in other platforms with a better rating or something)?

I know you don't have to convince me that your roadmap is good or that it works. And I do appreciate all the effort and work you put on it.

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

    still proclaim to have the roadmap that can make you able to solve Div2-D problems

    I think that it may be because he has successfully trained some people to that level (using that roadmap).

  • »
    »
    5 years ago, # ^ |
      Vote: I like it +3 Vote: I do not like it
    • I am an old guy. In our days UVA and Topcoder were the main training platforms for me. Before stopping CP, Codeforces was launched, that is why I don't have competitions history

    • There are a lot of good people who will have low rate. High rate in contests is function in several factors, such as proper handling for online contests pressure (e.g. a lot of people think how others will think about their rate changes), accuracy (getting problem AC after how many submissions), skills (which level you can solve/algorithms you know) and finally and more importantly speed. In Div2, there are lot of people who can solve e.g. Div2-E after the contest, but not fast enough to get in the contest. Similarly for Div1-D guys. The assumption low rate => low skills is wrong.

    • I guess I always had troubles in online contests, but I was a very good team player, such as ICPC.

    • You can some about my background from here.

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

what should be the recommended way for beginning with competitive programming

Blind order or Topics based

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

Hey mostafa.saad.fci, although I don't understand arabic, the problem sheets are amazing! I have solved most of the questions from B and am almost done with C1 over the past two months. My rating has gone up like magic! Thanks for the sheet!

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

    Thanks a lot for this useful feedback :)

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

    I am a newbie for almost 1.5 years. I don't know that should I practice according to this sheet or not.

    I see your rating graph and surprised after looking at the increase in the last months to the present. I just wanna know how much did your ratings rose after practicing according to this sheet.

    Please tell me that and also give advice that should I practice according to this sheet?

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

      Apart from the sheet, I also practiced on InterviewBit/Leetcode, which may have helped in the boost to 1400. But spending time on the sheet exposes one to a lot of good questions.

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

    as far i know, in the problem sheets there are around 400 problems in B and C1, but over the past two months you solved total 120+ problems with average 1400 difficulty in CF including contests. Anyway, congrats!!
    I also practiced last 2 months thoroughly and solved good amount of problems with decent(average 1500) difficulty but still i could not make it to expert :(

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

    hey is solving this sheet worth it? i am confused? can i trust spending time in sheet?please answer?

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

      bro,Yes. Absolutely Yes. The Questions are pretty Good. They are mostly challenging.I have Done mostly sheets A, B ,C1, C2 (leaving the optional questions ). My rating increased upto 1730 using that only. and after that I stopped solving them (not because they are not worthy , but because I felt I need to take some break from that because the questions became more tough ).

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

        In btw while Doing if you find things difficult then refer other sources , I mean don't just stick onto the codes that he gives only.

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

          How long did it take for you to finish A, B, C1, and C2

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

            2-3 months

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

              practicing how many problems/hours per day ?

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

                10-15 approx. but remember this has 80 questions or so of div2 A,B types

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

        thank you! should i solve them like A,B,C,D?or blind order style?

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

          solving sheet A ,then sheet B .... is only blind order style i think. anyways I solved like first sheet A then B the C1 ...

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

    Can you pls guide me in how to approach this sheet

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

Sir, you must be red/orange in some other platform. Your sheet is helping a lot.
Please add some English video tutorial.

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

    bro? is solving this sheet worth it? how it helped you? can u tell me? please

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

where

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

mostafa.saad.fci I can solve almost all Division 2-D, and a few Division 2-E. What should I be follow now?

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

I am solving this sheet,is it worth solving.whenever i get stuck i read codeforces editorial because i don't know Arabic.Do i need to watch your videos,i mean is it compulsory, most important question is it worth solving..plz any info

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

Well, my question is pretty naive.But,can please someone help me to access the problems of the sheet.

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

    You need to make your own copy, as mentioned in the sheet

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

      could u plz make a blank sheet of junior training sheet and provide plz ?

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

        Hey hackerman44 Check the 18th row

        "This is a personal Google sheet for you [Make a copy from file MENU] to have sets of problems to solve coupled with algorithms to learn

        • Don't download the sheet, Use it online
        • Can't edit it? Because it is read-only. Read below notes.
        • Just make a copy to your google driver
        • Then work over it online. Following are the details
        • Login to ur google Gmail

        • Go to my sheet
        • In the sheet click on 'file' menu
        • select Make copy
        • it will create copy for u
        • RENAME it to Junior Sheet
        • Now the copied sheet is opened for you (or go inside ur Google drive and you will find it)

        NOTE: If u did so and still read-only format, then you are again opening my sheet (e.g. with old name), NOT your copy"

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

          i did read the page. But you didn't get me! i asked for a blank sheet where i can put my own problems and monitor my improvements.

          • »
            »
            »
            »
            »
            »
            3 years ago, # ^ |
              Vote: I like it 0 Vote: I do not like it
            • Make a copy
            • Duplicate D3 sheet
            • Remove its problems
            • Start to add yours
            • »
              »
              »
              »
              »
              »
              »
              3 years ago, # ^ |
              Rev. 4   Vote: I like it 0 Vote: I do not like it

              But there's a error. whenever i replace my own problems in the place of the remaining problems list it works! but if i outnumber the problems list (like if i put one line below the D3 sheet nothing works ) the summation + color + counting are not working!! what's the fix ?

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

                Your questions 'how to change color, how to change range of formula' are questions about google sheets, not this specific sheet. I think it's better to learn about google sheets from google / other websites.

                AFAIK when you create a new row at bottom, it copies the formatting of last existing row and if a formula range ended at last row, then that formula range is extended automatically too.

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

                  i downloaded the google sheet as an excel sheet(.xlsx) for windows, but when i create a new row the formulas + formats are not copied! What can i do for this !?

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

                  Bruh! it doesn't copy the format. I am attaching a picture of it => https://imgur.com/BseHPhJ

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

                  Of course this formula is not copied, as range of this formula is horizontal.

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

                  I don't use windows so I don't know. Try searching in google maybe?

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

                  Anyway, you don't really have to add new rows or change color if you don't know how to use excel sheet. Just copy existing sheet and remove the problems and comments.

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

*thanks for ur great effort for helping newbies like me.. only shortcoming was the video part in which i didn't got old of any word in arabic otherwise sheet was worderful some improving measures: - adding subtitle would work - ****posting new videos on related topics will be very helpful

thanks again....

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

    I plan to record an English video soon

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

      also i found some UVA problems challenging , when failed to do i looked into hte video provided...but found it to be in arabic (no clue what he was trying to say) so is there any other reference for solution for non CF problems(editorial type).

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

        Just skip the hard UVA problems From C, UVA problems many of them will have editorial link

        In near future, I will try to provide UVA editorials for A/B sheet problems

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

          thank you for advice just one more question.... how much one can push his rating by completing the sheet.... also please post your video in english , you seem to be a very helping guy but most of us cant make much of that...
          thank again

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

How long will it take me to finish the whole sheet.

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

    The sheet contains around ~950 problems. The FAQ says it will take ~700-900 hrs, so if you dedicate 20 hrs/week it will take around 8 months.

    I've working on since a month ago, and have finished 89 problems from sheet A and 35 problems from sheet B, summing up 53 hrs for 124 problems. The first problems are easy, but they become harder as you advance.

    Still a long road to go, but definitely I'll recommend it because is very well balanced.

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

Sir,How much time should i spend each question as a beginner like me and when should i see the editorial or others code if i stuck?

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

    20-30 minutes thinking in sheet A/B. Feel free to go more from time to time.

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

It's good to have a non distracting way...

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

Thanks for doing this mostafa.saad.fci! I just started with CP and found your work really useful and inspiring. I don't know Arabic but the sheet problem selection, logging, and overall structure are great! Thanks!!!

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

What can you suggest for non-Arabic speakers? How can we use it?

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

    It has problems, many English editorials, the topics to learn. You almost can find ur way without Arabic like many others

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

Is it recommended to start directly from C1?

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

Auto comment: topic has been updated by mostafa.saad.fci (previous revision, new revision, compare).

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

guyz i think we should make some kind of group where people can discuss these problems with each other ]

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

Are these problems still good for practice to increase ratings? Are they still compatible with the latest problems?

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

Auto comment: topic has been updated by mostafa.saad.fci (previous revision, new revision, compare).

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

thanks for making this to the newcomers.

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

I made my copy of the sheet, but how will I know which problems I've already solved?

I solved many problems but I have to check each problem individually to see whether I have solved it or not.

Thank you for the sheet!

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

    In the sheet, status column, mark your status (e.g. AC)

    please do deeper browsing for the sheet.

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

There's no Topics2 tab in the sheet, kindly look into it please.

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

Please help me,find the problems in the sheet,i cant see any problem in sheet

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

    You seems not good in sheets :)

    In the bottom, you find tabs. Each tab has problems.

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

Will there be any problem if I pause my training for some months, eg (2-3 months), after completing C1 page of the sheet?

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

    Most of my students regeret. Spend 2 hours weekly to maintain your level. Solve Div2-Bs and a C from time to time.

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

Sir in your sheet you wrote about speed training. I am not sure, how exactly you want me to do that.

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

    One way, focus on solving 100 consecutive Div2-A with speed and accuracy in mind. If improved, move to B. Then keep A/B solving as part of your training E.g. 10 of them.

    Note, speed training is more for guys who are in Div2-C and above.

»
15 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Mostafa, Is this list getting updated with the latest probelms or they are constant for a long time? I am not an expert in this but I have observed the difficulty and variation of problems changing from time to time.

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

    The philosophy and the selection of this sheet doesn't depend on the time factor. The problems are selected such that most of them have new ideas that build different skills. You need this selection in all cases

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

So how can I choose my level? I'm not a newcomer I have been doing CP for (12,14) month ; how could I start ? Is there any roadmap for people like me? mostafa.saad.fci

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

    In each group of 10 problems, pick one and see your level. Do jumps to find a suitable start

»
11 months ago, # |
  Vote: I like it +3 Vote: I do not like it

Hey i had a question, i started solving this sheet few days back.. is the sheet still relevant or you would suggest some changes???.. Please kindly reply that'll help a lot.

»
5 months ago, # |
  Vote: I like it 0 Vote: I do not like it

is the sheet is good enough for recent training div2-b, c?

plz answer!

because almost all problems is old. nowadays, codeforces div2 b,c problem is almost greedy type and complicated.