Suresh Michael
All workshops
Competitive Programming

Mastering Competitive Programming: Strategies, Algorithms, and Preparation Tips

A session on the part of competitive programming that isn't algorithms: how to read a problem, how to solve it on paper before you touch the keyboard, and what to practise between contests.

Delivered
August 6, 2026
Format
Talk
Audience
Students & aspiring competitive programmers
SlidesView on SlideShare →

What we covered

Most people lose contests before they write a line of code, by misreading the problem or reaching for an algorithm they half-remember. The session spends its time on the thinking that happens before the editor is open, then names the algorithms worth actually knowing.

  • What competitive programming is: solving problems by coding correct solutions inside a fixed window of time.
  • Why do it at all: testing yourself, learning fast, recognition, networking, and the jobs it opens.
  • The shape of a contest: understanding the problem, reading the input and output, choosing an approach, coding, testing, submitting.
  • Problem solving as the foundation, with the buffet-table analogy: survey everything on offer before committing to a plate.
  • A method for coding a solution: read it more than once, solve it by hand against the samples, tighten the steps, write the pseudocode, then implement and refine.
  • The reduction trick: shrink the problem to a smaller version, solve that, and scale the solution back up.
  • Preparing between contests: consistent practice, algorithm coverage, familiarity with the contest environment, solving on paper, and sleep.
  • The algorithm categories that keep coming back, from the basics through to advanced data structures.
  • Where to keep going, starting with USACO Training.

Format

A talk that walks through a contest in the order you'd actually experience one, with the problem-solving method demonstrated rather than listed.

Who it's for

Students and developers entering coding contests, especially anyone who can already write the code but keeps running out of time on problems they could have solved.

Share this workshop
Copied