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

Автор SHADOW088, история, 2 года назад, По-английски

I've been doing competitive programming for about 2-3 months and have gone through these topics so far:

  • Basics (Conditional statements, loops, switch)
  • Bitwise operators
  • Arrays, Strings
  • Greedy algorithms
  • Linear search, Two pointers
  • Binary search
  • Prefix sum
  • Sorting
  • Number Theory (sieve, modulo, exponentiation)
  • Pointers
  • STL
  • Recursion
  • Basic Probability and Combinatorics

Lately, I've been practicing questions in the 1000-1400 range.

Next, I'm thinking of diving into:

  • Stack

  • Queue

  • Tree

  • Heap

  • Hashmap

  • Trie

  • Backtracking

  • Graph (BFS, DFS, Shortest Path)

  • Dynamic Programming

Does this sequence seem okay? Any tips on how to approach these topics?

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

»
2 года назад, скрыть # |
← Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

I have done same topics which u have done with stack and queue extra and believe me just practice this much you can reach 1400+ by this much topics only once u reach 1400 then study dp and graphs before that there will be no use as u will not be able to solve those problems anyway in the contest

»
2 года назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

I think graph before tree? tree is just a special graph, so understanding graphs first is better in my opinion, the rest seems fine

»
2 года назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

I believe that the situation does not depend on the topics you know more than the extent of your knowledge and practice on these topics.

  • STL, Prefix sum, Two pointers, Binary search, Number theory and Bits (Maybe complete search also) I think These topics are enough to reach 1400+, how many Binary search problems have you solved? and what is the Quality? did you benefit from it?

After you have been comfortable you can learn techniques like DP, also you can start to study Graph theory (you can study the basics right now)

»
2 года назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

You seemed clueless on your topics, as they are separated too randomly.

Learn exhaustive search, and with it backtracking as well. This is basic stuff you'd always need, not to solve any problem, but to complete your basic methodologies.

Stack+Queue for basic FIFO/LIFO data structures, which would enable you to work with graph and DP topics. And for graph, tree is a welcome optional addition, though I bet you'd learn trees on your own when practicing graph problems anyway.

The rest, don't. Not yet your time to do so. Maybe heap is okay, but the rest should be left behind when you're more established.