Skip to content

Latest commit

 

History

History

ppc_help_mars

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Help Mars, ppc+osint

It was a programming challenge, in which we had to find the shortest set of database strings (of which there were a few millions), that concatenated together would give target string (that we had to find on the internet as osint part of the challenge). The strings weren't very long; around 100 characters each, and the target string was two orders of magnitude longer. Simple brute force wouldn't work.

Instead, we opted for dynamic programming solution: for each substring of the target, we calculated the minimal solution by brute forcing first division point and fetching subproblem solution from memoized array. This gave us runtime of O(N*N*M), where N is length of the target, and M - maximum length of database strings (with possibly some logarithmic overhead from Python data structures). Full code attached.