Khalin Graph
Time limit2sMemory limit1024 MB
Given a Halin graph through its base tree, count edge subsets where every connected component is a single vertex or a tree on 3 vertices, modulo 998244353.
- Level
Hard9 of 10
- Topics
- Dynamic programming, Tree, Graph, Combinatorics
- Solved
- No attempts yet
Statement
Little George Khalin designed a new type of graphs. He doesn't like the letter K, so he dropped it.
Preorder of a tree (sometimes called time-in order) is obtained with the following procedure:
Fix the root of the tree and direct all edges away from the root. The preorder of the subtree of a vertex is followed by the preorders of the subtrees of all its children (if any), in some order. A preorder of a tree with a fixed root is any preorder of the subtree of the root.
Note that a tree has multiple preorders, since a preorder depends on the choice of the root and on the order in which the children subtrees are considered at every vertex.
A Halin graph is obtained with the following procedure. There is a tree, which we call the base tree of the graph. It has at least 4 vertices and no vertices of degree 2. One of its preorders is specified. The root of the tree with respect to this preorder is not a leaf.
Let be the leaves of the tree in the order they appear in the preorder. For each from to , add an edge between and to the tree. These edges are called additional. The resulting graph is the Halin graph with respect to the base tree and the specified preorder.
A 3-matching of a graph is a set of edges such that the connected components of the graph formed by removing all edges not in from are trees of size 3 or 1.
You are given a Halin graph. Find the number of its 3-matchings modulo .
Input
The first line contains a single integer (), the number of vertices in the base tree. Vertices are numbered according to the preorder.
The second line contains integers. The -th of them is (), describing an edge between the -th and the -th vertices of the base tree.
It is guaranteed that the base tree is a tree, has no vertices of degree 2, and vertex is not a leaf.
Output
Output a single integer, the number of 3-matchings of the given graph modulo .
Hints
In the first example, the actual Halin graph is the complete graph on four vertices.
In the second example, the leaves are , so there are four additional edges: , , , .
Note that there is no letter K in the meaningful parts of the statement.