Questions About Competitive Programming


If you have a question about competitive programming, Quora is a good place to find the answer. Quora’s Competitive Programming topic attracts experienced competitive programmers, and they have written answers to a variety of common questions that beginning and intermediate programmers have about the subject.

It has been a few years now since the Quora topic was created, and most questions about the fundamentals of competitive programming have been asked and answered. While there are still new questions about specific problems, and about current events, it’s rare to see a new question about fundamentals.

« Continue »

Three Perspectives on Coding Interviews

It’s October, the time of year when leaves start to fall from the trees, and companies start to recruit college students for summer internships. Last week, I spent half a day interviewing some of those candidates. I also came across a long Hacker News thread called I Hate HackerRank. So I thought it would be […]


The Benefits of Demystifying Tacit Knowledge

Can you learn anything you want by reading a book? A blog post by Scott Young last week got me thinking about claims that some subjects are unteachable. Here are some examples: Claim: Some knowledge and skills can only be learned using an apprenticeship approach. Scott contrasts two learning techniques. One is the standard school […]


Aggregation of Marginal Gains

If you want to get better at something, you need a plan. Improvement doesn’t happen on its own. But once you have that plan, a bigger challenge is executing on it along with your other responsibilities. One way to increase your chances of following through on changes is not to try to make big changes […]


Getting Past a Competitive Programming Plateau

In the Peak book, the authors describe the following learning challenge in a section called “Getting Past Plateaus”: When you first start learning something new, it is normal to see rapid — or at least steady — improvement, and when that improvement stops, it is natural to believe you’ve hit some sort of implacable [immovable] […]


Three Ways to Solve UVa 108

UVa 108 is rated as a Level 1 (easy) problem by uHunt, but its solution nevertheless contains some interesting techniques. Here’s a summary of the problem statement: Given an $N \times N$ array $A$ of positive and negative integers, print the sum of the nonempty subarray of $A$ that has the maximum sum. The sum […]


Competitive Programming Training Tips

Over the past couple of weeks, I have been writing about deliberate practice as described in Peak by Anders Ericsson and Robert Pool. The book describes three types of practice: Na├»ve practice, purposeful practice, and deliberate practice. The latter two types of practice are both effective, but there’s a key difference that makes deliberate practice […]


Achieving Peak Performance in Competitive Programming

Last week, I wrote about the concept of mental representations, an important topic in Peak by Anders Ericsson and Robert Pool. According to the authors, learners seeking expertise should have as their goal a virtuous cycle between mental representations and deliberate practice: Deliberate practice should produce more effective mental representations, and more effective mental representations […]


Mental Representations for Competitive Programming Practice

Psychologist and deliberate practice pioneer K. Anders Ericsson has been studying and writing about deliberate practice for decades, and his landmark 1993 paper provides an accessible introduction to the topic. This year, he published his first book-length exploration of deliberate practice for a general audience. Peak: Secrets from the New Science of Expertise explains the […]