$S_i$ is constructed in parallel by running the greedy algorithm on $f_i$. That is, each $S_i$ is updated in $k-l$ rounds where in each round an element with maximum marginal on $f_i$ is added to $S_i$ based on $ e^*_i = \operatorname*{arg\,max}_{e \in V} f_i({S_{\rm{tr}}}\cup S_i \cup\{e\}) - f_i({S_{\rm{tr}}}\cup S_i)$.

**Initialize** ${S_{\rm{tr}}}=\{S_i\}_{i=1}^m=\emptyset$ Find $e^{*}\!\!\! =\!\! \operatorname*{arg\,max}_{ e\in V}\sum\limits_{i=1}^{m}\Delta_i(e|{S_{\rm{tr}}}) $ ${S_{\rm{tr}}}\xleftarrow{} {S_{\rm{tr}}}\cup\{e^{*}\}$ **end for** Find $e_i^{*} \!=\!\operatorname*{arg\,max}_{ e\in V}  \Delta_i(e|{S_{\rm{tr}}}\!\cup\! S_i)$ $S_i\xleftarrow{} S_i\cup\{e_i^{*}\}$ **end for** **end for** Return ${S_{\rm{tr}}}$ and $S_i$

**Initialize** ${S_{\rm{tr}}}=\{S_i\}_{i=1}^m=\emptyset$ Find $e_i^{*} =  \operatorname*{arg\,max}_{ e\in V}  \Delta_i(e|S_i)$ $S_i\xleftarrow{} S_i\cup\{e_i^{*}\}$ **end for** **end for** Find $ e^{*} =\!\operatorname*{arg\,max}_{ e\in V} \!\sum\limits_{i=1}^{m}\!\Delta_{i}(e|{S_{\rm{tr}}}\cup S_i)$ ${S_{\rm{tr}}}\xleftarrow{} {S_{\rm{tr}}}\cup\{e^{*}\}$ **end for** Return ${S_{\rm{tr}}}$ and $S_i$

**Initialize** the sets ${S_{\rm{tr}}}$ and $\{S_i\}_{i=1}^m$ to the empty set. Find $e^{*} = \operatorname*{arg\,max}_{ e\in V}  \sum_{i=1}^{m}f_i({S_{\rm{tr}}}\cup\{e\})-f_i({S_{\rm{tr}}})$ ${S_{\rm{tr}}}\xleftarrow{} {S_{\rm{tr}}}\cup\{e^{*}\}$ **end for** Find $e_i^{*} =  \operatorname*{arg\,max}_{ e\in V}  f_i({S_{\rm{tr}}}\cup S_i\cup\{e\})-f_i({S_{\rm{tr}}}\cup S_i)$ $S_i\xleftarrow{} S_i\cup\{e_i^{*}\}$ **end for** **end for** return ${S_{\rm{tr}}}$ and $S_i$

Algorithm \[alg: Reverse discrete meta-Greedy\] uses the opposite ordering of Algorithm \[alg: discrete meta-Greedy\]. Initializing with all sets to be empty, in the first phase it constructs the sets $S_i$ using the greedy procedure on $f_i$, i.e., each $S_i$ is updated in parallel in $k-l$ rounds, where in each 