Chung kết LQDOJ CUP 2024 - Trò chơi nối điểm
Xem PDF
Điểm:
2400
Thời gian:
1.0s
Bộ nhớ:
512M
Input:
bàn phím
Output:
màn hình
Alice và Bob cùng nhau chơi trò chơi nối điểm trên một vòng tròn. Có \(2 \cdot n\) điểm cách đều nhau nằm trên đường tròn, các điểm được đánh số từ \(1\) đến \(2 \cdot n\) theo chiều kim đồng hồ. Hai bạn thay phiên nhau thực hiện đúng \(n\) lần nối hai điểm thỏa mãn:
- Mỗi điểm chỉ nối với đúng một điểm khác;
- Không có hai đoạn nối nào cắt nhau.
Alice và Bob đã thực hiện \(k\) lần nối \((a_1, b_1), (a_2, b_2), \dots, (a_k, b_k)\), trước mỗi lượt nối Alice muốn đếm số trạng thái kết thúc của trò chơi có thể xảy ra. Hai trạng thái kết thúc được gọi là khác nhau nếu tồn tại một điểm được nối với hai điểm khác nhau trong hai trạng thái.
Yêu cầu: Hãy giúp Alice đếm số trạng thái kết thúc có thể trước mỗi lượt nối, và sau khi kết thúc trò chơi.
Input
- Dòng đầu chứa hai số nguyên \(n, k\) (\(0 \le k \le n\));
- Dòng thứ \(t\) (\(1 \le t \le k\)) trong \(k\) dòng sau chứa hai số nguyên \(a_t, b_t\) (\(1 \le a_t, b_t \le 2 \cdot n\)). Dữ liệu đảm bảo các đoạn đã nối thỏa mãn yêu cầu trò chơi.
Output
- Gồm \(k + 1\) dòng, mỗi dòng chứa một số nguyên là số trạng thái kết thúc của trò chơi chia dư cho (\(10^9 + 7\)) trước mỗi lượt nối, và ở dòng thứ \(k + 1\) là sau khi kết thúc trò chơi.
Constraints
- Subtask \(1\) (\(05\%\) số điểm): \(n \le 5; k = 0\);
- Subtask \(2\) (\(15\%\) số điểm): \(n \le 5\);
- Subtask \(3\) (\(20\%\) số điểm): \(n \le 5000; k = 0\);
- Subtask \(4\) (\(27\%\) số điểm): \(n \le 5000\);
- Subtask \(5\) (\(33\%\) số điểm): \(n \le 500000\);
Example
Kỳ thi:
- Chung kết LQDOJ Cup 2024 (22 Tháng 11., 2024)


Bình luận