Algebraic structures in combinatorial problems