Sự miêu tả
Đặt một hoán vị của các số nguyên {1, 2, ..., n}
được gọi là nội suy tối thiểu nếu không có tập hợp các k+2
điểm (cùng với các chỉ số của chúng) rơi vào một đa thức bậc k
. Đó là,
- Không có hai điểm rơi trên một đường nằm ngang (đa thức 0 độ)
- Không có ba điểm rơi trên một dòng (đa thức 1 độ)
- Không có bốn điểm rơi trên một parabol (đa thức 2 độ)
- Vân vân.
Thử thách
Viết chương trình tính toán trình tự OEIS A301802 (n) , số lượng hoán vị nội suy tối thiểu {1, 2, ..., n}
cho n
càng lớn càng tốt.
Chấm điểm
Tôi sẽ tính thời gian mã của bạn trên máy tính của tôi (Intel Core i5 2,3 GHz, RAM 8 GB) với đầu vào tăng. Điểm của bạn sẽ là đầu vào lớn nhất chỉ mất chưa đến 1 phút để xuất giá trị chính xác.
Thí dụ
Ví dụ, hoán vị [1, 2, 4, 3]
là nội suy tối thiểu bởi vì
the terms together with their indices
[(1, 1), (2, 2), (3, 4), (4, 3)]
have the property that
(0) No two points have the same y-value.
(1) No three points lie on a line.
(2) No four points lie on a parabola.
Trong hình minh họa, bạn có thể thấy rằng các đường ngang (màu đỏ) có nhiều nhất một điểm trên chúng, các đường (màu xanh) có nhiều nhất hai điểm trên chúng và parabolas (màu xanh lá cây) có ba điểm trên chúng.
Dữ liệu
Dưới đây là các hoán vị tối thiểu interpolable cho n=3
, n=4
và n=5
:
n = 3: [1,3,2],[2,1,3],[2,3,1],[3,1,2]
n = 4: [1,2,4,3],[1,3,2,4],[1,3,4,2],[1,4,2,3],[2,1,3,4],[2,1,4,3],[2,3,1,4],[2,4,1,3],[2,4,3,1],[3,1,2,4],[3,1,4,2],[3,2,4,1],[3,4,1,2],[3,4,2,1],[4,1,3,2],[4,2,1,3],[4,2,3,1],[4,3,1,2]
n = 5: [1,2,5,3,4],[1,3,2,5,4],[1,3,4,2,5],[1,4,2,3,5],[1,4,3,5,2],[1,4,5,2,3],[1,4,5,3,2],[1,5,3,2,4],[2,1,4,3,5],[2,3,1,4,5],[2,3,5,1,4],[2,3,5,4,1],[2,4,1,5,3],[2,4,3,1,5],[2,4,5,1,3],[2,5,1,3,4],[2,5,1,4,3],[2,5,3,4,1],[2,5,4,1,3],[3,1,4,5,2],[3,1,5,2,4],[3,1,5,4,2],[3,2,5,1,4],[3,2,5,4,1],[3,4,1,2,5],[3,4,1,5,2],[3,5,1,2,4],[3,5,1,4,2],[3,5,2,1,4],[4,1,2,5,3],[4,1,3,2,5],[4,1,5,2,3],[4,1,5,3,2],[4,2,1,5,3],[4,2,3,5,1],[4,2,5,1,3],[4,3,1,2,5],[4,3,1,5,2],[4,3,5,2,1],[4,5,2,3,1],[5,1,3,4,2],[5,2,1,3,4],[5,2,1,4,3],[5,2,3,1,4],[5,2,4,3,1],[5,3,2,4,1],[5,3,4,1,2],[5,4,1,3,2]
Nếu chương trình của tôi đúng, một vài giá trị đầu tiên của a(n)
, số lượng hoán vị nội suy tối thiểu của {1, 2, ..., n}
:
a(1) = 1
a(2) = 2
a(3) = 4
a(4) = 18
a(5) = 48
a(6) = 216
a(7) = 584
a(8) = 2870