A hybrid multigroup/continuous-energy Monte Carlo algorithm is developed for solving the Boltzmann-Fokker-Planck equation. This algorithm differs significantly from previous charged-particle Monte Carlo algorithms. Most importantly, it can be used to perform both forward and adjoint transport calculations, using the same basic multigroup cross-section data. The new algorithm is fully described, computationally tested, and compared with a standard condensed history algorithm for coupled electron-photon transport calculations.