Deduce that if $G$ is a finite $p$-group, the number of subgroups of $G$ that are not normal is divisible by $p$

Consider the action of $G$ on the set $S$ by conjugation. The singleton elements are the normal subgroups, the others are the "abnormal" subgroups. Then by the orbit stabilizer theorem all orbits have size divisible by $p$, i.e. denoting the orbit of a given subgroup, $H$, by $H^G$ we see $p|\big|H^G\big|$. But then $\{H\in S : H^G\ne \{H\}\}$ is another way to write your set. If $H_1^G,\ldots, H_n^G$ are representatives of the distinct, disjoint orbits we see that

$$\{H\in S : H^G\ne \{H\}\}=\coprod_{i=1}^n H_i^G$$

Therefore

$$\big|\{H\in S : H^G\ne \{H\}\}\big|=\sum_{i=1}^n\big|H_i^G|$$

but $p|\big|H_i^G\big|$ for every $i$, so

$$p|\big|\{H\in S : H^G\ne \{H\}\}\big|.$$


The group $G$ acts on its set of subgroups by conjugation, you wish to count the elements that do not have trivial orbits. the size of an orbit is equal to the the order of the group $G$ divided by the stabilizer of $H$ where $H$ is any subgroup belonging to that orbit. Since $G$ is a $p$-group $\frac{|G|}{|stab(H)}$ is a multiple of $p$ since the stabilizer is a proper subgroup of $G$, so all non-trivial orbits have size multiple of $p$