Gánh Xiếc

Đề bài

Mô tả

Nông dân John đang chuẩn bị biểu diễn gánh xiếc với N con bò, được đánh số từ 1 đến N. Sân khấu gánh xiếc được biểu diễn bởi một cây gồm N đỉnh được đánh số từ 1 đến N.

Một trạng thái khởi đầu cho K con bò (1KN) là cách gán K con bò phân biệt (được đánh số từ 1 đến K) vào K đỉnh phân biệt của cây. Một bước di chuyển là: chọn một con bò và di chuyển nó đến một đỉnh kề chưa bị chiếm. Hai trạng thái được gọi là tương đương nếu có thể đến được từ trạng thái này sang trạng thái kia bằng một số hữu hạn bước di chuyển.

Với mỗi K từ 1 đến N, hãy đếm số lớp tương đương của các trạng thái khởi đầu cho K con bò. In kết quả modulo 109+7.

Dữ liệu vào

  • Dòng 1: Số nguyên N — số đỉnh của cây.
  • N1 dòng tiếp theo: Mỗi dòng gồm hai số nguyên uv (1u,vN) mô tả một cạnh của cây.

Dữ liệu ra

In N dòng. Dòng K là số lớp tương đương cho K con bò, modulo 109+7.

Ràng buộc

  • 1N105

Ví dụ

Input Output Giải thích
5
1 2
2 3
3 4
3 5
1
1
3
24
120
Cây có 5 đỉnh: đường đi 1-2-3 và các cạnh 3-4, 3-5. Với K=1: 1 lớp. Với K=3: 3 lớp tương đương. Với K=5: 5!=120 lớp (mỗi hoán vị là một lớp riêng).
8
1 3
2 3
3 4
4 5
5 6
6 7
6 8
1
1
1
6
30
180
5040
40320
Cây có 8 đỉnh: đỉnh 3 nối với 1, 2, 4; đỉnh 6 nối với 5, 7, 8. Với K3: chỉ có 1 lớp tương đương vì các con bò có thể sắp xếp tự do. Với K=7: 7! lớp.

Ghi chú

  • Hai con bò được coi là phân biệt (có đánh số), nên việc hoán đổi vị trí của hai con bò tạo ra trạng thái khác.
  • Khi K=N: tất cả N! trạng thái đều thuộc các lớp tương đương khác nhau (mỗi trạng thái là một lớp riêng).
  • Khi K nhỏ (nhiều đỉnh trống), các con bò có thể di chuyển tự do và tất cả trạng thái về cơ bản là tương đương.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0