Codeforces Round 808 (Div. 1) |
---|
Закончено |
Каваширо Нитори — девушка, которой нравится спортивное программирование. Однажды она нашла корневое дерево из $$$n$$$ вершин. Корень дерева был в вершине с номером $$$1$$$. Как продвинутый автор, она сразу придумала задачу.
У Каваширо Нитори есть множество вершин $$$U=\{1,2,\ldots,n\}$$$. За одну операцию она будет выбирать множество вершин $$$T$$$, где $$$T$$$ является частичным виртуальным деревом множества $$$U$$$, и заменять множество $$$U$$$ на $$$T$$$.
Множество вершин $$$S_1$$$ называется частичным виртуальным деревом множества вершин $$$S_2$$$, если $$$S_1$$$ — подмножество $$$S_2$$$, $$$S_1 \neq S_2$$$ и для любых пар вершин $$$i$$$ и $$$j$$$ из $$$S_1$$$ $$$\operatorname{LCA}(i,j)$$$ лежит внутри $$$S_1$$$, где $$$\operatorname{LCA}(x,y)$$$ обозначает наименьшего общего предка вершин $$$x$$$ и $$$y$$$ в дереве. Обратите внимание, что множество вершин может иметь много различных частичных виртуальных деревьев.
Каваширо Нитори хочет узнать для каждого возможного $$$k$$$, если применить операцию строго $$$k$$$ раз, сколькими способами она может получить $$$U=\{1\}$$$ в конце? Два способа считаются различными, если существует целое число $$$z$$$ ($$$1 \le z \le k$$$) такое, что после $$$z$$$ операций множества $$$U$$$ различаются.
Так как ответ может быть большим, найдите его по модулю $$$p$$$. Гарантируется, что $$$p$$$ — простое число.
Первая строка содержит два целых числа $$$n$$$ и $$$p$$$ ($$$2 \le n \le 2000$$$, $$$10^8 + 7 \le p \le 10^9+9$$$). Гарантируется, что $$$p$$$ — простое число.
Каждая из следующих $$$n-1$$$ строк содержит два целых числа $$$u_i$$$, $$$v_i$$$ ($$$1 \leq u_i, v_i \leq n$$$), обозначающих ребро между $$$u_i$$$ и $$$v_i$$$.
Гарантируется, что данные ребра образуют дерево.
Выведите единственную строку, состоящую из $$$n-1$$$ целых чисел — ответ по модулю $$$p$$$ для всех $$$k=1,2,\ldots,n-1$$$.
4 998244353 1 2 2 3 1 4
1 6 6
7 100000007 1 2 1 3 2 4 2 5 3 6 3 7
1 47 340 854 880 320
8 1000000007 1 2 2 3 3 4 4 5 5 6 6 7 7 8
1 126 1806 8400 16800 15120 5040
В первом примере при $$$k=1$$$ единственный возможный способ следующий:
При $$$k=2$$$ существуют $$$6$$$ способов:
При $$$k=3$$$ существуют $$$6$$$ возможных способов:
Название |
---|