Show that $f\big(f(x)\big)$ has at least as many real roots as $f(x)$ $f(x)$ is a real polynomial of odd degree. Show that $f\big(f(x)\big)$ has at least as many real distinct real roots, counted without multiplicity, as $f(x)$.

Since $f$ is of odd degree,
$\lim_{x \to \infty} f(x)
=\pm \infty
$
depending on the sign
of the highest order term,
and
$\lim_{x \to -\infty} f(x)
=\mp \infty
$,
with the other sign being used.
Therefore
$f(x)$
takes the reals onto the reals
(with possible multiple occurrances
where $f$ is not monotonic),
so
$f(f(x))$
has at least as many zeros 
as $f(x)$.
More explicitly,
for each real root
$x_r$ of $f$,
there is at least one $x_a$
such that
$f(x_a) = x_r$,
so that
$f(f(x_a))
=f(x_r)
=0
$.
