Project Euler 301-400 tier list

I recently completed the first 400 Project Euler problems. Inspired by sanguinecha.me/leon, I’m going to make my own tier list for 3xx problems.

Some idea on how to interpret the ranks:

  • Rank C: It’s just tedious or boring
  • Rank B: A standard problem but at least there’s some non-trivial observation to it.
  • Rank A: I think it’s a good problem and enjoyed solving it.
  • Rank S: Either I really enjoyed learning the new thing required for the problem, or really excited when I had the problem solved.

Commentary

Rank S

  • 319: Actually earned more in-depth about Dirichlet and hyperbola method, and they are being used in a non-trivial way on this problem.
  • 325: It’s a standard Euclid game, but I learned about floor sum here. I still find the $\phi$ appearing in the game formula to be impressive though.
  • 344: It’s a tough one, but the game reduction turns out to be pretty simple.
  • 361: Found out about an entire Thue-Morse generation and some facts about them. The observation to find $A_n$ also turns out to be pretty elegant too. The only annoying thing is the non-prime modulo.
  • 382: Problem is kinda annoying, but this is the first time I cheese a problem using Berlekamp-Massey and tried to understand the BM algorithm.
  • 391: It’s a good and simple DP, but not easy to formulate. I also find the fast convergence to be interesting.

Rank A

  • 311: Weird geometry setup, but the reduction to number theory is quite funny.
  • 314: Unexpected Lagrangian jump scare.
  • 316: You can extend this probability problem into string problem.
  • 317: Pure integration problem. I actually randomly encountered and solved this in my high school (10+ years ago).
  • 326: Pattern recognition problem, i.e. OEIS.
  • 330: Overall good counting problem. Solving using G.F. perspective also possible.
  • 331: Funny game with unproven solution. People are creating an online game to help visualise this problem as well.
  • 337: Number theory with unexpected need for Fenwick Tree.
  • 338: A tough problem requiring case-by-case analysis, and you need floor sum in the end.
  • 343: Funny way to hide largest prime factor.
  • 354: Learned something about lattice points in hexa grid.
  • 355: Bipartite matching in a number theory problem. If not for the unproven lemma, I might put this in S.
  • 356: A good use of Vieta’s.
  • 358: Interesting premise, and good use of primitive root.
  • 366: Fibonacci nim with non-trivial way to “brute” the solution.
  • 368: Interesting mathematical facts and nice use of non-trivial DP.
  • 372: Floor-sum modification.
  • 379: Alternative solution that uses Dirichlet is kinda interesting.
  • 380: It’s funny because the product terms are trigonometry but the final result is an integer.
  • 394: A good brush up on differential equations.
  • 400: It’s just a game theory but misère.

I’m not going to comment on Rank B and C

comments powered by Disqus