説明
(インデックスと一緒に)ポイントのセットが次数の多項式に該当しない場合、整数の順列を最小補間{1, 2, ..., n}
可能と呼びます。あれは、k+2
k
- 水平線上に2点はありません(0次多項式)
- 3つの点が直線上にない(1次多項式)
- 放物線上に4つの点はありません(2次多項式)
- など。
チャレンジ
OEISシーケンスA301802(n)を計算するプログラムを作成します。これは、{1, 2, ..., n}
forの最小補間順列の数をn
可能な限り大きくします。
得点
入力を増やしながら、コンピューター(2.3 GHz Intel Core i5、8 GB RAM)でコードの時間を計ります。スコアは、正しい値を出力するのに1分もかからない最大の入力になります。
例
たとえば、置換[1, 2, 4, 3]
は次の理由で最小限に補間できます。
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.
図では、水平線(赤)に最大1つのポイントがあり、線(青)に最大2つのポイントがあり、放物線(緑)に3つのポイントがあることがわかります。
データ
ここでは最小限interpolable順列あるためn=3
、n=4
と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]
私のプログラムが正しい場合、の最初のいくつかの値、a(n)
の最小補間可能な順列の{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
素敵なシーケンス番号!| あなたが指定したが、最速のコードを、あなたはそれが上で最速のあるマシンを指定しませんでした。勝利基準は何ですか?
—
user202729
サンプルテキストではゼロインデックスが使用されていますが、画像では1インデックスが使用されています。
—
ジョナサンフレッチ
すべてのポイントは最初の自然数の順列によって定義されるため、2つのポイントが同じ高さを占めることは不可能ではありませんか?
—
ジョナサンフレッチ
@JonathanFrech、実際、これらは順列であるため、1インデックスが付けられている必要があります。そしてあなたは正しい!順列を扱っているため、0次の多項式条件は無料です。
—
ピーターカゲィ