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

Автор YouKn0wWho, 3 года назад, По-английски

This post took $$$4$$$ years to make. And this is the most significant thing that I have ever shared in my whole life.

Story

Hi, I have been doing CP for like $$$4$$$ years and from the very beginning what I have been feeling is a need for a comprehensive topic list that will contain all sorts of topics from easy to advanced with corresponding tutorials, problem lists and templates so that I wouldn't have to look at different sites, from here to there. So what do you do when you think something is missing from the world? Yeah, you create that thing! So here I am, sharing the ultimate topic list that you will need in CP.

When I say that it took me $$$4$$$ years to make it, I genuinely mean it. I have been collecting them from the inception of my CP journey and yesterday I thought that it got its almost complete shape. You may not imagine the sheer excitement hidden under each of the characters of this post.

Payment

You can pay me just by upvoting this blog and by being a better programmer and human being than what you are right now.

About the Topic List

I have added a few tutorials for each topic. You can also find more of them by just using your best companion — Google.

Added few problems for each topic. But you may notice that some of the topics don't have any problem attached. That's because under the attached tutorial section you will find lots of problems with that topic. If you want more problems, then you can do it just by using Google.

I have attached my template for each topic. You may not call it a template because some of them don't support the generalized use of the topic. But you can use them easily if you understand the topic and solve problems using that template.

Lastly, I tried to state the difficulty of each topic by numbers from $$$1$$$ to $$$3$$$ so that people can understand what are the best topics for them. The distribution is as follows:

  • $$$1$$$ — If your rating is $$$1600 - 1899$$$
  • $$$2$$$ — If your rating is $$$1900 - 2399$$$
  • $$$3$$$ — If your rating is $$$2400+$$$

If you are a beginner then just learn basic topics and solve problems.

Topic List

Link: smash me

Upd (May 12, 2024): the current and final version is deployed here: smash me

Contribute

You can comment the topic names that you think are missing right now and I am pretty sure some links are broken, do point those out if you find some.

Additional Comments

I really wanted to post this blog before I die. Seems like I managed to do that. It's funny that I had this constant fear of what if I die before sharing this blog with the world given that the amount of work I have given to create this is monstrous. But now I am so happy that I am alive at this moment.

Conclusion

The whole purpose of this project is to help you with this astounding journey of you trying to be better, trying to achieve the best of what you can imagine. Hope that my efforts won't go in vain. I am waiting to see you at the top of the building that you made by the bricks of your expectations. I am waiting to see you smile and to be happy. Don't forget to enjoy the journey and have fun while riding the boat.

Best wishes, my friend blobheart.

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

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

Great blog vai

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

You sir are a hero we don't deserve. Thank you very much for your amazing contributions to the community.

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

orz

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

Orz , One of the best blog ever with all the details cleanly presented

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

Bhallagse!!!!

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

This is amazing!!!! Thank you for all your efforts. But would you like to discuss, which ones we actually need? Being a cyan, I certainly don't need all of them, at least not now. Same goes for the greens and below.

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

I hope I'd be able to cover most of the topics in this list before I die.

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

Many Top coders of Bangladesh are scared to share their resources templates, etc..... Great to finally get someone like YouKn0wWho who shares without any hesitations. Take love bro.

  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится +32 Проголосовать: не нравится

    Well, many of them gathered and or created their library bit by bit and learnt throughout the whole process. For the perfect code sometimes several trials are needed. When you just get a full library you can't actually realize how much effort is needed for that. What Shohag vai did is really amazing. But if he didn't you couldn't blame him for that.

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

This blog is life saver. You deserve unlimited upvotes for all your effort.

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

would be better if you could also add the order in which these topics should be studied

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

YouKn0wWho ?? Yes, i know! You're the best. Thank you brother!

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

This blog deserves constantly 4 years upvoting.

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

"From the very beginning what I have been feeling is a need for a comprehensive topic list that will contain all sorts of topics from easy to advanced with corresponding tutorials, problem lists and templates."

Every Competitive Programmer Ever: "Highly relatable."

Thanks a lot vai. May Allah reward you.

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

This is just gold! Thanks a lot!! Not all heroes wear capes.

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

This is called the real contribution

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

It is just awesome. Thanks for helping us...

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

Well ,now I am confirmed that you are an alien!!!!!!!!!!

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

Advance congratulations for becoming one of the top contributors in codeforces!!!! <3 <3

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

Let's push him to the top 10 contributor's list. This blog is a real gem.

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

This deserves to be the most upvoted post ever.

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

This is going to be one of the top 10 upvoted blogs on Codeforces!!

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

Respect ++ for u!!! thanks a ton

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

This is a competitive programmer's paradise. Really appreciate the time and effort put to build the whole compilation of blogs and most importantly codes to reference!

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

Nice!Thank you!

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

This will help a lot of people. May god bless you.

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

I think using spoiler might be a good idea :|

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

This deserves to be Pinned on the Home Page.

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

plug dp

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

Should learn topics difficulty wise? All type of topics difficulty-1 then 2 and so on?

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

This is awesome. Thanks a lot for your efforts and contribution.

I wish MikeMirzayanov would allow this post to show on the CF home page!

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

Good work Shohag. But I think it will be much better if the problems are sorted according to their difficulty into all categories. Carry on brother.

  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится +18 Проголосовать: не нравится

    Actually I thought about this but lets say there are 5 variations of Segment tree of varying difficulties. So I wanted to state them at one place so that if someone wants to master Segment tree he doesn't have to check the whole blog to know of the existence of other variations.

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

Simply brilliant !

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

121 LCA in O(1) has broken code link

  • »
    »
    3 года назад, # ^ |
    Rev. 2   Проголосовать: нравится +6 Проголосовать: не нравится

    Actually, In between URL If there is a parameter ex: (')(")(+) then the link will be broken. Because it's a kind of SQL Injection threat. You can check YouKn0wWho's personal Blog post here

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

Orz

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

Great job indeed!!

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

some blogs should be pinned in blogs list, and this is one of them

thank you

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

now I am excited and depressed at the same time

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

You have everyone respect Mr. YouKn0wWho

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

Great blog.

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

Great blog. One question though. Do you know all these topics? If not then how did you decide their difficulty?

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

I am commenting as an attempt to push this blog to recent actions for others to know/utilise this blog

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

i upvoted you with 12 accounts of mine :D thnx a lot and congrats youknowwho( didnt want to ping him unnecessarily) to make to the top 10 contributors

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

This deserves a million upvotes.

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

Wow

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

Now this is REAL contribution.

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

Is this the list of stuff that I do not know

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

YouKn0wWho Please add fracturing search to the list. There is a nice problem of this topic at the last educational round 1574D - The Strongest Build.

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

Thanks a lot brother ,now this blog is going to be bookmark for most of us.

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

Sum of The Number of Divisors in cbrt(n) link of code is not working

btw thanks a lot .

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

Congrats brother for being top contributor <3 and thanks for the list <3

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

This will take:

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

If it isn't too much of a hassle, could you please put the lists into separate 'spoiler' tabs? i think it would greatly improve navigability! The long lists (for which i am very thankful) are quite tedious to travel..

Thanks a lot for your effort!!

  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится +18 Проголосовать: не нравится

    Done

    • »
      »
      »
      3 года назад, # ^ |
        Проголосовать: нравится +45 Проголосовать: не нравится

      I think koderkushy meant something like

      Category: Basics
      Category: Math

      instead of one big spoiler.

      • »
        »
        »
        »
        3 года назад, # ^ |
          Проголосовать: нравится +6 Проголосовать: не нравится

        I did the appropriate changes for this but when I try to post the blog it shows 504 gateway time-out (I tried 5 times). Maybe that's because the raw HTML file contains almost 200k characters.

        • »
          »
          »
          »
          »
          3 года назад, # ^ |
            Проголосовать: нравится +24 Проголосовать: не нравится

          That's a pity.

          But then I think there is no reason to hide everything in one big spoiler. That's the main part of the blog.

          (also, amazing job!)

      • »
        »
        »
        »
        3 года назад, # ^ |
          Проголосовать: нравится +23 Проголосовать: не нравится

        I think finally I did it but not here :(.

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

orz

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

I really have to say that this is some real good work.Thanks.

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

I haven't ever seen such a big list of CP topics.
orz.

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

🆃 🅷 🅰 🅽 🅺 🆈 🅾 🆄

You really deserve a 🏅 .

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

orz, bookmarking

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

I suggest adding Konig Theorem in Graph Theory section, here is a good resource about it.

»
3 года назад, # |
  Проголосовать: нравится -38 Проголосовать: не нравится

useless trash

»
3 года назад, # |
  Проголосовать: нравится -19 Проголосовать: не нравится

What should be the order in which we should do these topics as I am going for placement in 2 years so There is not much time for me to learn all these topivd....though I find competitive very interesting and I m not gonna leave this throughout my career but for sake of practical thinking...please guide me to reach up to 1600 rating

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

please drop a payment option.! it is more thn expensive! X|

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

    I agree, a donation option should be available, considering the huge work.

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

thank bro

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

I also wanted to point out that the link for matrix exponentiation problem is taking me to FTT problem. maybe you put a wrong link there by mistake. It is a little misleading so I would recommend removing that.

Thanx for this amazing blog.It is really helpful

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

Is this the most upvoted blog ever on codeforces?

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

Great blog Brother. At first, I thought these are all very advanced topics and I really should not learn new topics, as I already learned and practiced so many algorithms that I never used, or could use/implement, or even need at the level/rank I am currently in. But then again, while scrolling through the blog, some topic names caught my attention, which I could not resist learning. I tried to know more about Matrix Exponentiation, range BIT, and today while solving random problems, I even got the chance to implement range BIT!

(BTW pls suggest to me some more interesting topics from the list, that I will face more frequently in the future)

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

Curious if this blog is the most upvoted thing on codeforces?

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

YouKn0wWho vai, 147 — Johnsons Algorithm, Code template is not working. Can you please fix it?

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

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

Thanks a lot for soo much of efforts bruv. BTW , the thing I am the most curious about is how your college's name is the same as your name. Any chance that it's your own college?

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

Thanks a lot for this blog. I have made a resolution to complete this list in next few months (7-8 months).

  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится +137 Проголосовать: не нравится

    That's a bad idea. This is a huge list and many topics are very advanced.

    Practicing CP is about understanding algorithms and applying them yourself, not just about reading an article. It takes time.

    • »
      »
      »
      3 года назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      Then I will just practice questions according to my current level (as you suggested in YT videos) and study these topics as I encounter them. BTW thanks for guidance.

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

If you are too lazy like me to come to this great blog every time you want to learn something, you can refer to this PAGE visually sorted by color too. Have a great learning!

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

great work in this question I used your hashing code and according to me time n^2 * log(n) but still getting tle in 76 test case question link :- https://mirror.codeforces.com/contest/113/problem/B

solution :- https://mirror.codeforces.com/contest/113/submission/130230945

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

that's great!

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

Great list of all topics. But I think difficulty is wrong for many entries. 1 is set for those which is hard for me (I had 2200 maximum rating, and now I have 2066). And there are other cases.

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

Thanks guys, this is now the most upvoted Codeforces blog ever!

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

The click here link in Topic list section is not working

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

It's just me or the topic list is empty ? (well I will just see this as a chance to visit your great blog)

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

This is going to be at the top of my bookmark lists. Very well organized resources. Thanks a lot!

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

i have accessed to the blog few times ago but yesterday i've been noticed that "this page isn't working right now". Anybody like me ?

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

Thanks for the list. Only one problem IMO, a lot of the topics are way too hard relative to the rating that they're assigned. For example, who needs to learn about prefix automation or dinic's algorithm as an expert?

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

this site is not working ..

  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

    Sorry for the inconvenience. Seems like my email verification was pending and I have just done it, so the site will automatically be activated within 24h.

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

Excellent resources. Thanks!

»
3 года назад, # |
  Проголосовать: нравится -6 Проголосовать: не нравится

Sorry but it is possible to make the site available without running JS?

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

orz

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

You Are Amazing

»
22 месяца назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

Long live @YouKn0wWho

»
20 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Helpful blog. Thank You

»
10 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

dear brother keep going I hope you will be top of Bangladesh

»
5 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I'm trying to improve my Competitive Programming skills this summer. Thanks man you are a savior

»
5 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Nice blog.

»
5 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

BEST

»
5 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Brilliant Work!

»
3 месяца назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Add more to dp .

»
7 недель назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Best thread vro

»
4 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

ORZ ! Supercalifragilisticexpialidocious