be allocated to [**g**]{}.

### Allocations {#sec:alloc}

Let [**a**]{} denote a possible mapping of nodes of $\textbf{T}$ to subtrees of ${\textbf{g}}$. [**a**]{} is encoded as a vector of length $n-1$, where the $i$-th entry gives the node in ${\textbf{T}}$ which is mapped to the subtree with vintage $i$, ${\textbf{g}}_i$ (including the branch that subtends vintage $i$). Our algorithm first maps all *non-singleton* nodes $\mathbf{V}$ of $\mathbf{T}$ to subtrees of ${\textbf{g}}{}$, that is, only nodes such that $|V|>1$ are entries of [**a**]{}. Singleton nodes in $\mathbf{T}$ ($V\in \mathbf{V}$ such that $|V|=1$) are treated separately and are initially excluded from the allocation step. For example, Figure \[sub\_all\] shows a possible vector [**a**]{} whose entries are the non-singleton nodes $V_{0},V_{1},V_{2},$ and $V_{5}$ of ${\textbf{T}}$ of Figure \[perfect\_phylo\]. We note that nodes can appear more than once in [**a**]{}, meaning that they can be mapped to more than one subtree. On the other hand, a single node $V_i$ is not necessarily mapped to all the vintages, leaves and internal branches of ${\textbf{g}}_j$; different nodes may be mapped to some subtrees of ${\textbf{g}}_j$ (including external branches), leading to a situation where $V_i$ is mapped to only a subset of the vintages and branches constituting ${\textbf{g}}_j$. 