Let $U$ be the set of elements and $S$ be the subset collections. There exists a tree $T$ that each node is corresponding to an element in $U$. And for every subset $s$ in $S$, $V(T) \bigcap s $ is a path of T.
And I want to find a minimum set $Z$, where $Z \subset S$, and $\forall u \in U, \exists z \in Z$ s.t $u \in z$.
This problem can also be rephrased to giving a tree with a set of paths $P$ on the tree, and I want to select a minimal set of paths subset to $P$ that covers each node on that tree at least once.
Can this be done in polynomial time?