[Buổi 14][Chuyên đề Tham lam & chiến lược tìm kiếm][HW] Bài 3: Sắp mã cấu hình có ràng buộc
Sắp mã cấu hình có ràng buộc
Bối cảnh và bài toán
Có n mô-đun mang giá trị a[i]. Cần sắp toàn bộ thành một chuỗi cấu hình. Hai mô-đun kề nhau không được có giá trị chênh đúng 1. Điểm của cấu hình là sum(pos * value) với pos bắt đầu từ 1; chỉ đếm cấu hình có điểm trong [L,R]. Nếu các giá trị trùng nhau, các hoán vị chỉ khác việc đổi chỗ hai giá trị bằng nhau được coi là một cấu hình.
Yêu cầu
Đếm số cấu hình khác nhau hợp lệ.
Input
- Dòng 1:
n L R. - Dòng 2:
ngiá trị.
Output
In số cấu hình.
Ràng buộc
1 <= n <= 90 <= a[i] <= 20-10^9 <= L <= R <= 10^9
Chấm điểm
| Subtask | Điểm | Điều kiện | Official tests |
|---|---|---|---|
| S1 | 20% | n ≤ 7 | 01–04 |
| S2 | 30% | n ≤ 8 | 05–10 |
| S3 | 50% | Không có ràng buộc bổ sung | 11–20 |
Ví dụ 1
Input
3 0 100
1 2 3
Output
0
Giải thích. Mọi hoán vị của 1,2,3 đều có ít nhất một cặp kề chênh 1.
Ví dụ 2
Input
5 0 1000
1 3 5 7 9
Output
120
Giải thích. Không cặp giá trị nào chênh 1, mọi 5! hoán vị đều hợp lệ và điểm nằm trong đoạn.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M04-B14-HW03 |
| Buổi | B14 |
| Loại bài | HOMEWORK |
| Mức độ khó | Trung bình (Medium) |
| Thời gian làm bài khuyến nghị | 55 phút |
| Time limit | 2 giây |
| Memory limit | 256 MB |
| Tổng điểm | 100 |
| Chuẩn ngôn ngữ tham chiếu | C++11 trở lên |
Nguồn: FULLHOUSE DEV – Self-generated.
Comments