Graph theory, combinatorics, and applications