Having had my hands in Competitive Programming for more than 2.5 years now, I consider myself credible enough for this thread.
Here is a list of suggestions and answers to commonly asked questions around Competitive Programming. Should be super helpful for beginners.

1/n
=> Where to start?
- Learn Basic Mathematics
- Learn a programming language
- Improve Typing Speed. 30+ WPM can be considered good enough for somebody just starting out.

2/n
=> Direct contests or DSA first?
- Personally, I'd suggest giving contests directly
- Simply up solving problems is the major key to learning new concepts and ideas in CP
- If you're preparing for placements and have less time, do DSA first and then only go for CP

3/n
=> Free learning resources
- YouTube channels : Errichto, CodeNCode, Kartik Arora, Utkarsh Gupta and of course Priyansh Agarwal (link in bio)
- Codeforces EDU section
- CP Algorithms, Geeks for Geeks blogs
- CSES Problemset

4/n
=> Paid learning resources
- TLE Eliminators CP course led by me
- Coding Ninjas
- Coding Blocks
- Unacademy
- I took the CN course 2 years ago which provided a kick-start to my CP Journey

5/n
=> Which websites to attempt contests on?
- Codeforces
- Codechef
- Atcoder
- Hackerearth
- Hackerrank
- Google Coding Competitions
- Leetcode [This is not a CP website. Yes you read that right. You can give contests on it to prepare for coding tests and interviews though]

6/n
Please note: There is no need to give contests on each and every website. Select 2-3 websites which seem good to you, and start following them regularly. Just make sure to give every single contest from those selected websites and you will be good to go.

7/n
=> Famous contests for beginners
- Google Kickstart
- Codeforces Rounds - Div3 rounds are the best for beginners
- Codechef Starters, Long Challenges
- Atcoder Beginner Contests

8/n
=> Famous contests for PROs
- Google CodeJam
- Facebook Hacker Cup
- CodeChef SnackDown
- Codenation Coding Tests
- Codeforces, CodeChef Div1 Rounds
- Atcoder Regular and Grand Contests

9/n
=> Contest attempting tips
- Take out time for the whole contest to maximise the output
- Don't give up before the contest ends
- Don't waste the entire time on one problem
- Always have a pen and paper handy
- If nothing works out, take a small break and start afresh

10/n
=> How to up solve a problem
- Try it with a fresh mind for an hour
- Read the editorial part by part, and see if anything clicks
- Still stuck? Discuss with your friends or seniors
- Saw a new topic? Learn that topic first
- After solving, always think about your learnings

11/n
=> How to practice problems?
- Don't solve a lot of easy problems
- Try problems of difficulty around 100 to 300 more than your current rating. Find ways to bring yourself out of your comfort zone
- Give virtual contests if there are no contests for a long time

12/n
=> How to overcome demotivation?
- Don't care about your rating. Yes, it is difficult but you'll have to develop that will-power somehow.
- Take a 1 or 2 day gap (always works)
- Stop looking at your rating graph for real
- Do not skip contests for any reason at all

13/n
=> Seeking help from experienced people
- Don't just say "Hi" and wait for a reply
- Explain your query in a paragraph or two
- Be polite. Don't spam, everyone is busy with their own lives
- Don't send random problems as queries, you'll most likely be ignored

14/n
Thank you for reading! Yes that was quite a lot. If you're still here, make sure you follow all the steps and suggestions in the above thread, to make sure you come out as the best version of yourself in the CP world! A good thing would be to save it to your notion.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Priyansh Agarwal

Priyansh Agarwal Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @Priyansh_31Dec

May 19
Every year, around this time, the JEE exam frenzy kicks in. As I look back, I recall the tireless efforts made by my teachers.
I had 50+ students in my coaching classroom. Obviously the teacher couldn't have taught the topics according to just my strengths and weaknesses.

1/n
I was bullish about a few complex topics like Rotational Motion and Calculus. I wanted teachers to only solve hard problems in them but the teachers taught in a way that met the needs of most students instead of a single person. It was certainly not the best for me.

2/n
I always wonder what if I could have got a teacher who could have taught me as per my learning speed and strengths. Imagine, how beneficial that would be to so many students out there. This issue is solved right at its core by the concept of high-dosage tutoring.

3/n
Read 7 tweets
Mar 24
A lot of people ask me what are the topics they should learn to reach 1600 rating on Codeforces.
Having spent over 2.5 years both practising and teaching Competitive Programming, here is my personal suggestive list of topics to cover to reach Expert on CF.
A thread🧵
1. Number Theory
- Modular Arithmetic
- Euclidean Algorithm
- Sieve of Eratosthenes
- Binary Exponentiation
- Matrix Multiplication
- Combinatorics
- Basic knowledge of Primes, Divisors, Multiples

Resources:
Blog: cp-algorithms.com/#Algebra
Video Playlist: shorturl.at/mouHS
2. Binary and Ternary Search
- Normal Binary Searching
- Binary Searching on Answer
- Monotonic Functions

Resources:
Video Playlist: codeforces.com/edu/course/2/l…
This should also help: shorturl.at/fotKS
Read 10 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(