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

A very useful link ,list in-dept analysis of basic to advanced algorithm ,many which are listed above ,very helpful read MAXimal :: algo though in russian but google translator might help. :slight_smile:

24 Likes

Hello @all and especially @admin,

Is the idea of linking all of the above topics to some resource with a tutorial and suggested problems still up?

Because if it is, I can try to write about the topic 3. Fast Modulo Multiplication (Exponential Squaring), as it is a topic I master relatively well, and, when I’m finished with my tutorial I can provide the link here :smiley:

What do you think?

Best regards,

Bruno

11 Likes

http://www.personal.kent.edu/~rmuhamma/Algorithms/algorithm.html
i’ve found it very useful

9 Likes

I’d suggest further adding

Some useful resources : come on code on

Some cool problems : Nikhil Garg’s blog on quora

8 Likes

This website can also of great help in learning basic algorithms: http://www.learnalgorithms.in/

11 Likes

Tutorial on disjoint set and union find with supporting heuristics.
http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=disjointDataStructure

2 Likes

Levenshtein distance algorithm

1 Like

> 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 ^-^