Hi! I’m Bruno, a PhD student studying algorithms at Peking University.
Before moving to Beijing, I completed a master’s degree at UFMG and worked as a
software engineer at Google in Belo Horizonte.
I still write contest problems and code, maintain an ICPC library, and occasionally
decide that running for more than a day is a reasonable idea.
String matching when the pattern is edited: insert and delete characters, then count occurrences in a static text. Using suffix arrays we get O(log |T|) updates after O(|T|) preprocess, and the same bounds for substring delete, transpose, and copy, plus an online text.
Single-header C++ library for random and adversarial testcase generation. Its implementation has also led to a growing series of short algorithmic essays.
Chinese Postman route through every street inside Belo Horizonte's Avenida do Contorno. The resulting Chinese Postman tour was about 180 km and took 34 hours.
Long routes, preferably with a graph hidden inside.
I run roads and trails, from a 160 km route connecting three former capitals of Minas Gerais
to a tour of every street inside Belo Horizonte’s Avenida do Contorno.
Routes, films, and questionable decisions →