Lý lịch
Một chuỗi Davenport-Schinzel có hai tham số nguyên dương d
và n
. Chúng tôi sẽ biểu thị tập hợp tất cả các chuỗi Davenport-Schinzel cho các tham số đã cho bằng cách DS(d,n)
.
Hãy xem xét tất cả các trình tự của các số tự nhiên 1
đến n
, bao gồm, mà đáp ứng:
- Không có hai số liên tiếp trong chuỗi giống hệt nhau.
- Không có phần tiếp theo (không nhất thiết phải liên tiếp) có độ dài lớn hơn
d
, xen kẽ giữa hai số khác nhau.
Hãy L
biểu thị độ dài tối đa của một chuỗi như vậy (đã cho d
và n
). Sau đó, DS(d,n)
là tập hợp của tất cả các chuỗi như vậy với chiều dài L
.
Một số ví dụ có thể giúp đỡ. Hãy d = 4
, n = 3
. Trình tự dài nhất có thể với những ràng buộc này có L = 8
. Vì vậy, sau đây là một thành viên của DS(4,3)
:
[1, 2, 1, 3, 1, 3, 2, 3]
Không có các số giống hệt nhau liên tiếp và có các dãy dài xen kẽ 4
, nhưng không dài hơn:
1 2 1 2
1 2 1 2
1 3 1 3
1 3 1 3
2 3 2 3
2 3 2 3
1 3 1 3
1 3 1 3
Các ví dụ sau không có trong DS(4,3)
:
[1, 2, 2, 3, 1, 3, 2, 3] # Two consecutive 2's.
[1, 2, 1, 3, 1, 3, 2, 1] # Contains alternating subsequences of length 5.
[1, 2, 1, 3, 1, 3, 2] # Longer valid sequences for d = 4, n = 3 exist.
Để biết thêm thông tin, hãy xem MathWorld và OEIS và các tài liệu tham khảo mà họ liệt kê.
Các thách thức
Cho hai số nguyên dương n
và d
tạo ra bất kỳ chuỗi Davenport-Schinzel nào DS(d,n)
. Lưu ý rằng những điều này thường không phải là duy nhất, do đó, hãy đưa ra bất kỳ kết quả hợp lệ nào.
Bạn có thể viết chương trình hoặc hàm, lấy đầu vào qua STDIN (hoặc thay thế gần nhất), đối số dòng lệnh hoặc đối số hàm và trả về kết quả từ hàm hoặc in ra STDOUT (hoặc thay thế gần nhất).
Bạn có thể sử dụng bất kỳ định dạng danh sách hoặc chuỗi thuận tiện, rõ ràng cho đầu ra.
Đây là mã golf, vì vậy bài nộp ngắn nhất (tính bằng byte) sẽ thắng.
Độ dài trình tự
Vì các chuỗi không phải là duy nhất, không có nhiều sử dụng cho các ví dụ riêng lẻ trong thử thách này. Tuy nhiên, hai vấn đề về tính hợp lệ chung là khá dễ dàng để kiểm tra bất kỳ đầu ra nào, vì vậy câu hỏi chính chỉ là liệu chuỗi có độ dài phù hợp hay không (hoặc có một chuỗi hợp lệ dài hơn). Do đó, đây là danh sách 1 được biết L
cho d
và n
:
\
d\n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
\-----------------------------------------------------------
1 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
3 | 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39
4 | 1 4 8 12 17 22 27 32 37 42 47 53 58 64 69 75 81 86 92 98
5 | 1 5 10 16 22 29 ...
6 | 1 6 14 23 34 ...
7 | 1 7 16 28 41 ...
8 | 1 8 20 35 53 ...
9 | 1 9 22 40 61 ...
10 | 1 10 26 47 73 ...
Bạn không được mã hóa bất kỳ thông tin nào từ bảng này vào bài nộp của mình.
1 Bảng này có từ năm 1994, do đó có thể đã có nhiều tiến bộ hơn kể từ đó, nhưng tôi nghi ngờ rằng bất kỳ đệ trình nào cũng có thể xử lý ngay cả các mục lớn hơn trong bảng này trong một khoảng thời gian hợp lý.