Borys Minaiev's blog

Converging on Simulated Annealing

What is Simulated Annealing? Simulated Annealing (SA) is the main algorithm in optimization-style programming competitions. Almost every Topcoder Marathon or Atcoder Heuristic Contest winner probably used SA. There are a lot of articles on the Internet about SA, so I’ll assume you already know the basics. I recommend this one. The problem ... Read more

Solving Jigsaw Puzzle with bare Rust. Part 2.

Welcome to Part 2! In the previous post we discussed how to normalize the photo, detect pieces, find good pairs, and even tried to greedily solve the whole puzzle, but didn’t succeed in the last one. This time we will talk about how to actually make it work, and try to solve a bigger 1000-piece completely white puzzle. Make it work Last time w... Read more

Solving Jigsaw Puzzle with bare Rust

I participate in a lot of programming competitions and usually, if you show good results, organizers send you some prizes. Typically it is just t-shirts, but at some point, you have too many of them, so you had to make a bed cover from them. But sometimes prizes are more interesting. This time Google HashCode organizers sent a jigsaw puzzle if y... Read more

Online point location

Round 3 of Meta Hacker Cup 2022 finished a couple of days ago. Today I’ll talk about the hardest problem from that round, which was solved only by 3 people. The problem is quite classical, so basically after reading the problem statement, experienced competitive programmers already know what they need to write, but the amount of the code is pret... Read more

ICFPC 2022

For the third year in a row, I participated in the ICFP Contest as a member of RGBTeam with Roman Udovichenko and Gennady Korotkevich. We won it last year and hopefully did a good job this year as well. The final results are not published yet, but we were in the first place when the scoreboard was frozen (2 hours before the end of the contest). ... Read more

Old posts (in Russian)

O(N^2). Часть 2: prefetching Google AI4Code или мой первый раз на Kaggle Генерируем полимино Local Optimizations Is All You Need Воспроизводимые бенчмарки O(N^2) Read more