Master Competitive Programming: The Ultimate Beginner's Guide ๐Ÿš€

Discover the essentials of competitive programming in this engaging and comprehensive introduction. Perfect for beginners eager to level up their coding skills!

Master Competitive Programming: The Ultimate Beginner's Guide ๐Ÿš€
Junferno
814.5K views โ€ข Sep 19, 2022
Master Competitive Programming: The Ultimate Beginner's Guide ๐Ÿš€

About this video

Most interesting video ever created. I don't know what I mispronounced but I definitely mispronounced something. Also Junferno's face is not in this video as much due to him falling into a state of anguish mid-recording (he was busy).

Patreon: https://www.patreon.com/Junferno
Twitter: https://twitter.com/Junferno
Join the Discord: https://discord.gg/junferno
Secondary Discord invite if vanity invite expires: https://discord.gg/WEykWbjkR2
Check out my other stuff on GitHub: https://github.com/kevinjycui

Corrections:
- [Visual error at 6:02] "Ultrecht" should be Utrecht
- [Visual error at 10:32] Shortest path from A to C should be ADC, yielding a distance of 1+7=8, making the total distance from A to C to E: 8+12=20

Footnotes:
- Other prominent online judges similar to Codeforces/DMOJ include AtCoder, Leetcode (mostly technical interview-type questions), Codechef, and TopCoder. CSES is an online judge focused on a single problemset. Advent of Code is a Christmas-themed daily programming challenge run annually in December in which only the output of the test cases has to be submitted as opposed to the solution code. Google Foobar is a "secret" Google programming challenge meant to be a recruiting technique targeted towards Google Search users who use keywords related to coding.
- The technical term for a "network of nodes" is a "graph". Algorithms dealing with such graphs are categorised as graph theory algorithms. Nodes are connected by "edges" which may or may not have "weights". A directed graph is a graph in which the edges only go one way. An acyclic graph is a graph which contains no cycles.
- A queue is different from a list in that it is not indexable, but rather just serves the element at the top when polled. A priority queue serves the element with the highest priority (usually implemented with heap). It does not actually "sort itself" but the elements will come out "sorted". The queue is sometimes referred to as "a list" in this video. This is meant to mean a "sequence of elements" and not the "list" data structure that exists in some languages.
- The preferred language for most competitive programming is C++, though other languages are also used. Java, for example, is often used alongside a rewrite of the input reader class, as the built-in Scanner is too slow.

References: "For the absence of a bibliography I offer neither explanation nor apology." -- Edsger W. Dijkstra

Photos courtesy of Wikimedia Commons, GeeksForGeeks, DMOJ
DMOJ: https://dmoj.ca/
Codeforces: https://codeforces.com/
Single Source Shortest Path: https://dmoj.ca/problem/sssp
VM7WC '15 #4 Gold - Chain Rule: https://dmoj.ca/problem/vmss7wc15c4p3

Music tracklist:
https://www.youtube.com/playlist?list=PLsTVaNk5lQHlq4hB124qTGlsrhyiAfqfR

Community Captions:
Portuguese (Brazil) - Guilherme BR

Video Information

Views

814.5K

Likes

41.1K

Duration

11:41

Published

Sep 19, 2022

User Reviews

4.8
(162)
Rate:

Related Trending Topics

LIVE TRENDS

Related trending topics. Click any trend to explore more videos.