bashkort's blog

By bashkort, 5 months ago, In English

Hi everyone!

I'm thrilled to invite you to the LI2 Contest — free collection of high-quality contests to master every topic — here, on Codeforces! Group Link! Click here!

Current avialibale list of topics:

Loops; Prefix Sums; Sortings; Binary Search; Recursion; Sweepline; Two Pointers; Linear Data Structers (stack, queue, etc); Graphs, DFS, BFS; Dynamic Programming; DSU; Shortest Paths; Minimum Spanning Tree; Greedy; ...

Why this course?

I believe that finding high-quality problems is the hardest part of practice, especially when you are only getting your feet wet with competitive programming.

There are many lectures and articles, but not so many open collections of problems for each topic.

Time-tested

I guarantee you that this course is time-tested, I used it myself.

LI2 is short for Boarding Lyceum №2 in Kazan — the school I study in. So we've been using this course for years and I can proudly say that we are one of the best schools for studying informatics in Russia, alongside with several other schools in Kazan, Chelyabinsk, Moscow and St. Petersburg.

Some notable people that completed the course from our school are: bashkort, Nutella3000, asafiul, isirazeev, M_bolshakov, Rip_robot, nocap, Pavarishko, lishy2 and many many more!

How To Practise Competitive Programming — The Russian Way

There are two main "How To Practise Competitive Programming" blogs that I really love: Radewoosh's and Um_nik's.

I agree with them both, but want to present the other way that is used in Russia. So here's a brief carrer of a competitive programmer in Russia:

  1. Get into a great school (optional, but much recommended)
  2. Start doing CP in school and/or at weekly held lectures + contests sponsored by big tech companies (like Yandex & Tinkoff)
  3. Attend CP camps in Sirius or camps like SIS — Summer Informatics School.
  4. Solve problems provided by these camps and tech companies
  5. Win a prize medal at the Russian OI
  6. Go to any university you want

As you see, almost all of them are very lucky that they have mentors who provide them high-quality contests. They don't have to worry about what problems to solve. Believe me, I'm an IOI gold medalist from Russia and know the system extremely well.

And these contests (in the LI2 group) are taken from the camps mentioned above, isn't it great?

As a side note, if you don't want your problem to be here, please, contact me right away. To be honest, I believe that they are not kept in secret since everyone in Russia knows them, but still, if you have any disagreement with me sharing your problems — PM me.

Announcement and Discussion For Each Contest

There's an announcement for each contest in the group's blog section. In the blog you will find lectures & artices suggested by me, as well as disucussion in the comment secion under every blog, where you can help each other!

Articles and Lectures include links to pashka's youtube lectures, usaco.guide articles and some cp-algorithms.com articles.

I believe that usaco.guide is one of the best, if not the best, place to study algorithms and solve problems. But I don't see any problem in using both usaco.guide and this course, the more the better!

Additional Practise

But let's be honest, you won't get anywhere without additional practise. It can be codeforces contest or previous olympiads. When I started completing the course, I was practising on past Russian olympiads. Without them I wouldn't get anywhere. So you also need to find other ways to practise additionally not just topic-based contests. Codeforces Rounds are a great way to practise!

For reference, this is my raiting graph when I started completing the course:

What to do now?

Get into the group by clickling on this link. Solve the problems and get better, share the group with your friends!

If you have any suggestions, please, let me know in the comments!

Thanks!

I didn't make the course myself, I only translalted it and published it.

  1. Huge thanks to MikeMirzayanov for making this hole thing possible!
  2. Huge thanks to ilsaf13, the informatics teacher in our school, for maintaining this hole thing and helping us with our CP journey!
  3. All of the people who prepared problems over the years!
  • Vote: I like it
  • +152
  • Vote: I do not like it

»
5 months ago, # |
  Vote: I like it +22 Vote: I do not like it

Best course ever❤️

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

thanks but a question

the blogs don't recommend solving by topic when should i solve randomly after the course or what

  • »
    »
    5 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Thanks for the question!

    This "learn a topic -> solve a problem" strategy may work for some and it worked for me. While Um_nik's blog is about "solve a problem -> learn a topic if you don't know how".

    I believe that in the beggining for the CP journey some will find the first strategy work for them better. It is sometimes frustrating to solve a problem and then realize that you are unable to solve it because of lack of knowledge. And it feels just morally better when you solved 10+ problems on a topic to master it. You feel confident about these problems.

    Some may argue that this does not guarantee that you mastered the topic, and they will be correct. That's why you need to solve additional problems and take part in the contests.

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

i cant able to see other participant code and editorial of contest. what to do if stuck?

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

thanks for this course :) <3

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

what are the approximate ratings of problems ? or what is the target audience of problems

  • »
    »
    5 months ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    They are intended for people who do not know the topic. So if you don't know, for example, MST — have a look at the contest.

    I'll say that I was in around 1600-1700 when I finished the course

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

In this problem, the substacks is incorrect

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

Your contest is very good. But what i do when i have stuck (except ask other, because is take much time), I don't find any editorial or can view code of other. Can you public your code for each problem and few hint?

  • »
    »
    5 months ago, # ^ |
    Rev. 2   Vote: I like it +13 Vote: I do not like it

    I guess the best thing you can do is to try for a longer period of time, and then ask in the discussions. I'll consider adding hints though

  • »
    »
    5 months ago, # ^ |
      Vote: I like it +21 Vote: I do not like it

    If enough people are interested, I can take a stab at them with one contest discussion stream each week.

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

Are these problem sets relevant to now a days codeforces contests?

  • »
    »
    4 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Well, they are the basics — they are always relevant

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

Should I take it

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

are u willing to do one for non beginners ? some more (adv) topics

  • »
    »
    4 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    There are some more advanced contests in our course (RMQ, SegTree and so on), so I will add them in the future!

    But the most important thing after you feel that you know these basics is solving a ton of problems, and maybe the contests for non-beginners won't have that much of an influence, since the best way to improve for them is to solve hard problems — from OI Checklist or Codeforces/AtCoder

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