Neilish's blog

By Neilish, history, 3 years ago, In English

I am currently in the 10th grade. I would like to get started in competitive programming. This are the things I know now:

Mathematics — Currently in pre-calculus Well Mathematics in my country is pretty unstructured. You would be studying bits of everything, and not one after the other. So I self studied up to Algebra II (Algebra I, geometry) so that I can cover it in more depth than in my school, though in school I'm learning through trigonometry stuff, algebra I & II stuff and geometry in varying orders.

Programming:

1.Knows the basics of C, Python, C++(main currently learning)

CS50X completed

HTML,CSS ,JS and sqlite3 with python

What I want to learn for competitive programming(I am unsure):

Discrete Mathematics Algorithms Data Structures 4.Dynamic Programming

and I am hoping you'll help me to structure the remaining necessities and knowledge required. I found some blogs at many places but they were incomplete i.e. they are not well enough for beginners to you know get started on. I am aiming currently for IOI.

  • Vote: I like it
  • -15
  • Vote: I do not like it

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

Taking for granted that you are pretty new to competitive programming, unless you have an insane math background and an insane training routine, it seems almost impossible to go for IOI within a few years. But hey, you can actually compete for ICPC, so don't be pessimistic yet.

There is no exact way to success, you have to try everything. You have the advice, take those and experiment with methods of your own. That's the best thing I can say.

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

    I qualified to my first IOI one year and a half after starting competitive programming. Before that, I only knew the basics of C++ and no CP algorithms (binary search, prime factorization, etc)

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

    I started CP in late 2014/early 2015 and went to IOI 2017. The timeframe seems to be the same. I had some math experience but it was nowhere near "insane".

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

HTML, CSS, JS and sqlite3 with python

lol

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

I've started competitive programming in tenth grade and had a pretty similar background to yours, so I think I could give some useful advice on how to begin. Firstly, regarding languages, you don't need HTML/other web stuff and make sure to continue learning C++. Secondly, your goals of learning data structures and dynamic programming are just a bit too unrealistic, because they are usually too advanced for beginners.

If I were you, I'd try to approach, one or at most two at a time, easy topics which you can further build upon: arrays, binary search, a bit of number theory (but only at a basic level for now), some basic greedy, a bit of recursion could also help. Besides using well-known online judges like Codeforces (where I'd recommend doing 800-1200 div2A and div2B problems), online judges from your country will most likely also be helpful. Anyways, do not hurry and try to learn a lot of new stuff at once. Make sure you are decently good at one topic, then move to the next one. I didn't use English sources that much for learning, but from what I've seen GeeksForGeeks is a pretty good choice, but don't forget to make sure to take full advantage of Google.