# Getting Started With Competitive Programming

- Institution: IIT Gandhinagar
- Department: Computer Science and Engineering
- Teacher: Prof. Neeldhara Misra
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106106231)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106106231)
- Who can watch: Teens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

This is a course on algorithm design with a focus on issues of modeling and implementation. Each lecture will be focused entirely on one or two problems that reveal the use of a specific algorithmic technique. The techniques themselves are chosen to be in line with those covered in existing NPTEL courses on data structures and algorithms, so that students who complete those courses can find in this course a natural follow up. This course is intended for anyone who wants to deepen their appreciation for algorithmic techniques that they have learned in a foundational course and/or would like to take a first step towards preparing for coding competitions such as the ICPC.

Intended audience: Undergraduate students who have already done a basic data structures/algorithms course.

Prerequisites: Data Structures and Algorithms, Familiarity with a programming language (ideally C++ or Python)

## Lectures

1. [Welcome and Initial Setup](https://invisiblenetwork.ai/learn/nptel/106106231/33fbc304ce1c) (YouTube)
2. [Reversort](https://invisiblenetwork.ai/learn/nptel/106106231/6a94e71bfeb5) (YouTube)
3. [Engineering Reversort](https://invisiblenetwork.ai/learn/nptel/106106231/a2989d130c55) (YouTube)
4. [Number Game](https://invisiblenetwork.ai/learn/nptel/106106231/4bd92bdf5920) (YouTube)
5. [Will It Stop?](https://invisiblenetwork.ai/learn/nptel/106106231/87b87115fe49) (YouTube)
6. [Trouble Sort](https://invisiblenetwork.ai/learn/nptel/106106231/4bc9a9d9a069) (YouTube)
7. [The Meeting Place Cannot Be Changed](https://invisiblenetwork.ai/learn/nptel/106106231/796d197e04d5) (YouTube)
8. [Magic Ship](https://invisiblenetwork.ai/learn/nptel/106106231/048d48520441) (YouTube)
9. [Simple Skewness](https://invisiblenetwork.ai/learn/nptel/106106231/6243eca715db) (YouTube)
10. [Pancake Flipping](https://invisiblenetwork.ai/learn/nptel/106106231/c60d11d0d7d4) (YouTube)
11. [Islands War](https://invisiblenetwork.ai/learn/nptel/106106231/32e59785b69b) (YouTube)
12. [Stable Marriage - I](https://invisiblenetwork.ai/learn/nptel/106106231/60e18daed12d) (YouTube)
13. [Stable Marriage - II](https://invisiblenetwork.ai/learn/nptel/106106231/6218b307c2f6) (YouTube)
14. [When Greedy Does Not Work - Coin Change](https://invisiblenetwork.ai/learn/nptel/106106231/67f6ef447e0f) (YouTube)
15. [When Greedy Does Not Work - Guarding a Museum](https://invisiblenetwork.ai/learn/nptel/106106231/79e1f2a86a0a) (YouTube)
16. [When Greedy Does Not Work - Traveling Salesman](https://invisiblenetwork.ai/learn/nptel/106106231/6f1b91bcf80f) (YouTube)
17. [DSU - Definition and Motivation](https://invisiblenetwork.ai/learn/nptel/106106231/3f0800b13788) (YouTube)
18. [DSU via Union by Rank and Path Compression](https://invisiblenetwork.ai/learn/nptel/106106231/efa0dcac123f) (YouTube)
19. [DSU - Implementation](https://invisiblenetwork.ai/learn/nptel/106106231/ca52a6d681b0) (YouTube)
20. [Destroying Array - I (Problem Statement and Solution)](https://invisiblenetwork.ai/learn/nptel/106106231/bc2fb3f7ca6e) (YouTube)
21. [Destroying Array - II (Implementation)](https://invisiblenetwork.ai/learn/nptel/106106231/e6941f81e4b1) (YouTube)
22. [War - I (Problem Statement)](https://invisiblenetwork.ai/learn/nptel/106106231/b89746a9fc9f) (YouTube)
23. [War - II (Solution)](https://invisiblenetwork.ai/learn/nptel/106106231/fc94bc301eeb) (YouTube)
24. [War - III (Implementation)](https://invisiblenetwork.ai/learn/nptel/106106231/68899e381eb8) (YouTube)
25. [Graph Foundations](https://invisiblenetwork.ai/learn/nptel/106106231/660ba9aa6858) (YouTube)
26. [BFS and DFS](https://invisiblenetwork.ai/learn/nptel/106106231/f714e0118d78) (YouTube)
27. [Mahmoud and Ehab and the bipartiteness](https://invisiblenetwork.ai/learn/nptel/106106231/7cc41cd7999d) (YouTube)
28. [Cover It!](https://invisiblenetwork.ai/learn/nptel/106106231/140e88a94428) (YouTube)
29. [Diamond Inheritance](https://invisiblenetwork.ai/learn/nptel/106106231/f8afa254feb8) (YouTube)
30. [SSSP - Overview BFS Revisited](https://invisiblenetwork.ai/learn/nptel/106106231/a09c5336eded) (YouTube)
31. [SSSP and Dijkstra's Algorithm](https://invisiblenetwork.ai/learn/nptel/106106231/1f1b789945d2) (YouTube)
32. [Sending Email](https://invisiblenetwork.ai/learn/nptel/106106231/d4d718e8e43d) (YouTube)
33. [SSSP and Modified Dijkstra](https://invisiblenetwork.ai/learn/nptel/106106231/0a06f62d4ca0) (YouTube)
34. [SSSP with Negative Cycles - Bellman-Ford](https://invisiblenetwork.ai/learn/nptel/106106231/b78affc9ae4c) (YouTube)
35. [Wormholes](https://invisiblenetwork.ai/learn/nptel/106106231/5879f8155a37) (YouTube)
36. [APSP and Floyd-Warshall](https://invisiblenetwork.ai/learn/nptel/106106231/cc11b8b80dd3) (YouTube)
37. [Page Hopping](https://invisiblenetwork.ai/learn/nptel/106106231/bcc03c0fdea3) (YouTube)
38. [Introduction to MSTs](https://invisiblenetwork.ai/learn/nptel/106106231/6c4964b34e0e) (YouTube)
39. [Prim's Algorithm](https://invisiblenetwork.ai/learn/nptel/106106231/8a6a1bde6759) (YouTube)
40. [Kruskal's Algorithm](https://invisiblenetwork.ai/learn/nptel/106106231/0c6869fa4dad) (YouTube)
41. [Cherries Mesh](https://invisiblenetwork.ai/learn/nptel/106106231/fba6fb49a979) (YouTube)
42. [Heirarchy](https://invisiblenetwork.ai/learn/nptel/106106231/07f16c28c25f) (YouTube)
43. [Island Hopping](https://invisiblenetwork.ai/learn/nptel/106106231/9991b0c1cef5) (YouTube)
44. [Introduction to MaxFlow](https://invisiblenetwork.ai/learn/nptel/106106231/e9ddcdbdd826) (YouTube)
45. [Ford-Fulkerson for MaxFlow](https://invisiblenetwork.ai/learn/nptel/106106231/0761cdd347da) (YouTube)
46. [Implementing Edmonds-Karp](https://invisiblenetwork.ai/learn/nptel/106106231/ff5c7dfc1f98) (YouTube)
47. [Maximum Matching via MaxFlow](https://invisiblenetwork.ai/learn/nptel/106106231/d1263ef44669) (YouTube)
48. [Sport Elimination via MaxFlow](https://invisiblenetwork.ai/learn/nptel/106106231/c67d3e86a6fd) (YouTube)
49. [Maxflow-Mincut Duality](https://invisiblenetwork.ai/learn/nptel/106106231/f551d8ec0630) (YouTube)
50. [Police Chase](https://invisiblenetwork.ai/learn/nptel/106106231/6ca10a259d53) (YouTube)
51. [Sam I AM and Vertex Covers](https://invisiblenetwork.ai/learn/nptel/106106231/e258bddeb51f) (YouTube)
52. [Top-Down Dynamic Programming with Frog 1_Part A](https://invisiblenetwork.ai/learn/nptel/106106231/191a3e9828e0) (YouTube)
53. [Top-Down Dynamic Programming with Frog 1_Part B](https://invisiblenetwork.ai/learn/nptel/106106231/4f677bd6827d) (YouTube)
54. [Bottom-Up Dynamic Programming with Dice Combinations](https://invisiblenetwork.ai/learn/nptel/106106231/60d34b45084c) (YouTube)
