Блог пользователя tahmidarefin

Автор tahmidarefin, 5 месяцев назад, По-английски

Greetings to all!

How far can a person go in Codeforces through only improving their problem-solving skills, intuition and these following concepts for practice?

  • C++ Basic Syntax (Variables, Operators, Conditional Statements, Loop, Function, Recursion, Basic Pointers, Class)
  • Basic Math (Number Set, GCD, LCM, Factorization, Number System Conversion, Equation Solving, Basic Combinatorics, Bitwise Operation & Basic Concepts)
  • Basic Operations like Insert/Delete/Travers of Linear Container (i.e. Array, Stack, Queue, Linked List etc.)
  • Basic Searching (Linear/Binary) & Sorting of Linear Container
  • Standard Template Library (Vector, Set, Map, Iterator)
  • Basic Graph & Tree Concepts (Definition Concept & Traversing -- DFS/BFS)

When I am saying the word 'Basic', it means the minimum level a person should learn to know about the topic, primarily.

and the more generalized question,

What are the minimum learning requirements for each level (Pupil, Specialist, ....) in Codeforces nowadays, if their practice, consistency, solving speed & other factors are optimal?

  • Проголосовать: нравится
  • +19
  • Проголосовать: не нравится

»
5 месяцев назад, # |
Rev. 3   Проголосовать: нравится -6 Проголосовать: не нравится
  • A person can reach the Pupil to Specialist level in Codeforces by mastering the concepts you've listed.

  • However, for higher levels like Expert and above, a deeper understanding of advanced algorithms, deeper understanding and usage of STL, in-depth understanding of number theory,basic string algorithms,dynamic programming, and more complex graph theories is necessary.

  • Consistent practice and problem-solving experience play crucial roles at all levels.

  • »
    »
    5 месяцев назад, # ^ |
    Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

    Thanks, brother. Noted!

    I don't know why people are downvoting the parent comment. An opinion is neither correct nor incorrect; it's a perspective shared with others. There is no need to downvote for sharing and helping others. If you didn't like the words, that doesn't mean it should be suppressed either. He did not claim to state the ultimate truth.

  • »
    »
    5 месяцев назад, # ^ |
    Rev. 2   Проголосовать: нравится +27 Проголосовать: не нравится

    Good points, however I would like to say that in my opinion one does not need segment tree, fenwick trees, string algorithms, for reaching expert.

    stl, dp, greedy, basic number theory and combinatorics, dfs , bfs should suffice. You just have to practise problems upto 1700 difficulty and from what I have seen its often speed that differentiates between expert and specialist.

    • »
      »
      »
      5 месяцев назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Thanks for being more specific about topics and speed.

      • »
        »
        »
        »
        5 месяцев назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится

        With speed, expert could be reached by just knowing the stuff listed (and a little more practice on DFS/BFS) should be enough to at least slowly reach expert.

  • »
    »
    5 месяцев назад, # ^ |
      Проголосовать: нравится +22 Проголосовать: не нравится

    From my experience, you are incorrect, as one can easily get to Master with pure problem-solving skills. Now, I'm not stating that the person will do well in every single contest, as there are problems that involves standard techniques, but their rating will converge to Master (or higher) eventually, since the majority of contest on Codeforces is doable with only bare-minimum knowledge.

»
5 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Honestly, I've looked through all your posts and I realized that you're not interested at all. If I hadn't looked at the dates, I would have thought that you had just started your journey like me, but you have been programming for 5 years. You don't even have the most basic skills to learn programming: 1. Do not run away from difficulties. 2. Learn new things. 3.Passion to solve difficult problems. I don't know how you haven't figured it out in 5 years, but think again if you need it at all or if you think you need it.

  • »
    »
    5 месяцев назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    Thanks, man. Acknowledged! By the way, the post was out of curiosity, nothing else other than that.

  • »
    »
    5 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Also, Good Luck on your journey. I hope you will be doing great and love what you do.

»
5 месяцев назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Codeforces problems rely more in problem-solving and intuition than in knowledge. So you might be able to get to expert.

But from expert DPs will gatekeep you from higher ratings. And graphs appear rarely in Div2 ratings, you can probably survive without learning them.

»
5 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Thankyou for this blog, I got to know a lot through this comment section <3

  • »
    »
    5 месяцев назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    I am glad it helps. I have seen many guidance posts on Codeforces for improving competitive programming using the platform in various ways. In my opinion, a person should know what Codeforces is and how it works before choosing the platform. Then, the person may create their own guidance and gain confidence after making improvements more easily. That's why the question arose. If I don't know the path, I can't make a proper strategy or trust any premade strategy to move forward due to endless possibilities and uncertainties. I may doubt myself or the path after any setback and seek another roadmap to feel the safety of my comfort zone. Not everyone has the same struggles and strengths, so knowing oneself is the most important thing for any journey with a growth mindset.

»
5 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

i cant say higher than CM as i havnt reached higher than CM yet but i think its pretty easy to reach CM only with problem solving skills and alittle bit of algorithmic knowledge

  • »
    »
    5 месяцев назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    Thanks. Could you please specify or list the required knowledge and its level, if possible? A generalized explanation of your learning journey would be beneficial for us.

    • »
      »
      »
      5 месяцев назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Galen colin road map is great for knowledge wise

      • »
        »
        »
        »
        5 месяцев назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится

        Okay. I don't think these topics are at a base or minimal level for the particular Codeforces rank. The learning baseline can vary from person to person, but your suggestion is noted!