A C++ implementation to solve the LIS problem, with two approaches: exhaustive search (returns all results) and fast search (returns a single result).
The input is a random string (generated using random string generation or custom string selection), and the output is the longest increasing subsequence (along with its length).