Azizur_Rahaman's blog

By Azizur_Rahaman, history, 2 months ago, In English

Here are some important topics for a beginner problem solver:

Loops: Learn how to repeat tasks using for, while, and do-while loops.

Conditionals: Understand how to make decisions using if, else if, and else.

Arrays: Practice storing and accessing multiple values in a single variable.

Functions: Learn how to break your code into reusable blocks.

Recursion: Understand how a function can call itself to solve a problem.

Sorting: Practice ordering numbers or strings using algorithms like bubble sort or insertion sort.

Searching: Learn how to find an item in a list, such as with linear search or binary search.

String manipulation: Practice working with text, including reversing or finding parts of a string.

Mathematics: Practice basic number problems like finding the greatest common divisor (GCD) or prime numbers.

Debugging: Learn how to find and fix errors in your code.

These are fundamental for building a strong problem-solving foundation.

  • Vote: I like it
  • 0
  • Vote: I do not like it

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

Topics and Resources ->

** TOPICS FOR 0-1199 RATED PEOPLE:

Common Categories [all level] [most problems on CF are based on one of these categories or combinations of these categories] 1) Greedy 2) Math 3) Implementation 4) Constructive Algorithms

Important: 1) Brute Force 2) Sorting 3) Time complexity Analysis 4) Strings (Only Basics) 5) Elementary Number Theory 6) STL 7) Basic Bitwise stuff

(1000-1199 rated people): (Note: do it only when above topics are covered)

8) Number Theory (Intermediate) like prime factorisation, sieve, etc. 9) Recursion 10) Binary Search 11) Two pointers

Practice Range: 800 — 1300(CF)

Resources to learn: [Mostly Topic Modules] [Prefer for learning concepts primarily if some problems provided in the modules are hard for you then feel free to skip it]

Time complexity: https://usaco.guide/bronze/time-comp?lang=cpp

Brute Force: https://usaco.guide/bronze/intro-complete?lang=cpp

Sorting: https://usaco.guide/bronze/intro-sorting?lang=cpp https://usaco.guide/silver/sorting-custom?lang=cpp (Custom Comparators) (Optional for this level)

Recursion: https://usaco.guide/bronze/complete-rec?lang=cpp

STL: https://usaco.guide/bronze/intro-ds?lang=cpp (Part 1) (String basic included) https://usaco.guide/bronze/intro-sets?lang=cpp (part 2) https://usaco.guide/silver/intro-sorted-sets?lang=cpp (part 3) https://usaco.guide/gold/stacks?lang=cpp (part 4) https://usaco.guide/silver/custom-cpp-stl?lang=cpp (optional)

Number theory: https://usaco.guide/gold/divisibility?lang=cpp (part 1) https://usaco.guide/gold/modular?lang=cpp (part 2) https://www.youtube.com/watch?v=KOzByAdxVZ8 (Video)

Binary search: https://usaco.guide/silver/binary-search?lang=cpp

Two pointers: https://usaco.guide/silver/two-pointers?lang=cpp

Bitwise Stuff: https://usaco.guide/silver/intro-bitwise?lang=cpp https://www.youtube.com/watch?v=1um-WUyjess (Video) Pratice Source: ACD ladders or CF problemset [practice modules] https://codeforces.net/blog/entry/55274 **