sparsetable's blog

By sparsetable, history, 3 days ago, In English

TL;DR: I shuffled the array, got 100 points, and have no idea why.
(every instance of BOI here refers to the Baltic Olympiad in Informatics.)

I was working on BOI23 d1p2 yesterday, and came up with the following solution for 50 pts:

spoiler

Here, there were 2 obvious optimizations:

  1. Since I only need the value of $$$\min(b, c)$$$ if $$$\min(a, c) = \min(a, b)$$$, we can throw out some unnecessary queries

  2. Might as well randomize the array since it might reduce such occurrences, idk ¯\_(ツ)_/¯

code

And to my surprise...it got 100 points!

Looking at the official code, this seems to be the intended solution. However, even after thinking on it, I'm not really sure why it works. Why is shuffling the array so effective? (only applying optimization 1 without 2 gets you 58 points.)

Full text and comments »

  • Vote: I like it
  • +9
  • Vote: I do not like it

By sparsetable, history, 2 weeks ago, In English

I was wondering if there was anything similar to this, but for the practice session that took place today.

Full text and comments »

  • Vote: I like it
  • +17
  • Vote: I do not like it