What are the "must known" algorithms for online programming contests?

> Catalan numbers

Why?

This is not an algorithm. The way they can describe a lot of stuff is nice, but I’ve never ever seen them used in a solution in competitive programming (unless you count “bruteforce the first few numbers and google them in OEIS” an algorithm, which I don’t).

Similarly, anything that contains “ad-hoc” is not an algorithm, practically by definition. “Ad-hoc” means something that doesn’t fall under a well-known algorithmic technique.

6 Likes

Being a beginner and a little weak at Data Structures particularly from where should I start to get a good grip eventually?

There is an “awesome” resource for this and a lot other things. https://github.com/sindresorhus/awesome
Though I don’t remember the original author’s name, this is the best I’ve come across. Be sure to check it out.

1 Like

sieve of eratosthenes and segmented sieve

You can also add data structures as DS + Algo’s = Programs. I suggest adding a few basic data structures which would help. Also you could add topics like DP.

Centroid Decomposition of Tree

Can anyone also mention the approaches that we have to know like Dynamic Programming or any other approaches for programming contests.
Classifying these algorithms based on the approach will also really be beneficial, may be i am asking for more here :).

“Sorry You don’t have enough reputation to upvote” How to get reputations :’( ??

2 Likes

Hey guys have a look at this blog ::::
Important Data Structures and Algorithms

You can refer to this link.

you can refer this link

nice work. really helpful ^-^

nice work. really helpful ^-^

It will be great if we can build on this to give links of useful resources against each algorithm and also mention problems which require these algorithms to be solved.

11 Likes

@admin nice thought…it will be very very helpful :slight_smile:

1 Like

@admin: Great suggestion. Will do when I have time :wink:

2 Likes

Should we make this as a community wiki and people can keep adding and editing it there? The down side is that the votes that you have gathers will be lost. Or we can create another community wiki with the contents of this thread and the community can edit it there. What say?

5 Likes

@admin: Please do, I don’t mind those votes as long as it will help the community ;).

13 Likes

@admin: Although many of the things listed above are covered in society like Topcoder, codeforce as well there are content available at the internet too. The more detail list is available at (Get Started At CodeChef With Your Coding Journey | CodeChef → List of Topics for programming Competitions). Again if the things are missing and we have better solutions, we can write it under the tutorial section in codechef.

I have added link to my tutorial about point 3 on the original post… If you find it good enough feel free to add it to codechef for schools page as well! It would be an honor :smiley:

1 Like