A spanning tree in a graph is a connected spanning subgraph with no cycles; it is well known that the number of spanning trees can be found by taking the determinant of a certain matrix related to the graph.
A cycle in a graph (note: not quite usual definition) is a set of edges such that every vertex is incident with an even number of the edges, and a cocycle in a graph is a set of edges that forms an edge cutset. A bicycle is a set of edges that is simultaneously a cycle and a cocycle.
These concepts are best thought of in terms of the vector space $V = GF(2)^{E(G)}$ where a set of edges is identified with the support of a vector in $V$; if $B$ is the vertex-edge incidence matrix of the graph $G$ then the cocycles are all the vectors in the row-space of $B$, while the cycles are all the vectors in the dual of the row-space of $B$ and the bicycles are the vectors in the intersection of these subspaces.
Therefore a graph always has $2^b$ bicycles for some $b = b(G)$ (and, for those who are interested, this number $2^b$ is given by $\pm T(-1,-1)$ where $T$ is the Tutte polynomial of $G$).
If the number of spanning trees of a graph is odd, then it has no non-zero bicycles and $b=0$. More generally it has been known for a long time that the number of bicycles is a divisor of the number of spanning trees of $G$. All the proofs that I know of this fact are algebraic and based on messing around with a matrix or something essentially equivalent.
Question: Is there a combinatorial interpretation or combinatorial proof of the fact that the number of spanning trees in a graph is a multiple of $2^{b(G)}$?
For example, if we could clump the spanning trees together into sets of size $2^{b(G)}$ by using the bicycles somehow.
Sub-question: Is there any interpretation of the quotient (i.e. number of spanning trees divided by $2^{b(G)}$)?