Comments

As a current CS3233 student, give me contribution >:3

Well, you asked for an "induction", so here's one:

To solve $$$X$$$ problems on PE, just solve $$$X - 1$$$ problems first, and then solve another one :P

No, but really though, just start solving! There's no need to learn any topics beforehand.

From the website:

The problems range in difficulty and for many the experience is inductive chain learning. That is, by solving one problem it will expose you to a new concept that may allow you to undertake a previously inaccessible problem.

I’ll probably keep going for the foreseeable future :)

The newer problems are definitely higher quality and harder overall. But that doesn't mean they're impossible. In fact, most of them are pretty approachable. I'd suggest starting with the latest 100-200 problems.

As for the solve time, it really depends on the problem. There have been days where I've solved 10 in a row, but there have also been times where I've struggled to solve something for nearly a week.

The difficulty ratings on PE are pretty accurate. I think anything < 40% should be solvable within a day.

I know this won't be super helpful, but I'll just quote the website:

If the ideas are new to you, then use the internet or books to get some background; the problem should contain clues as to what to look-up.

So yeah, just a combination of searching and getting lucky. But I don't think there are any problems that use too obscure knowledge, IMO.

No, he just thought I'd be interested in PE :p

We had a proof that it was always achievable before the contest — in fact, all tests are generated randomly and not by hand. The main reason we disabled hacks was because of concerns over std::unordered_map hacks. We were also aware of the $$$O(n)$$$ solution without any data structures and using only the XOR operator, but we wanted to ensure that no contestant would get hacked mid-contest.

The proof was omitted from the editorial since I believed it wasn't needed to solve this problem. Sorry about the confusion!

Yes, that's correct. It's been fixed now. Thank you!