本当にユニークな配列を数える
これは、一意のセットを作成するCount配列のフォローアップです。大きな違いは、一意性の定義です。 A長さの配列を考えnます。配列には正の整数のみが含まれます。例えばA = (1,1,2,2)。f(A)のすべての空でない隣接サブアレイの合計のセットとして定義してみましょうA。この場合f(A) = {1,2,3,4,5,6}。作成する手順f(A) は次のとおりです。 のサブ配列はAです(1), (1), (2), (2), (1,1), (1,2), (2,2), (1,1,2), (1,2,2), (1,1,2,2)。それぞれの合計は1,1,2,2,2,3,4,4,5,6です。したがって、このリストから取得するセットはです{1,2,3,4,5,6}。 配列が逆になることを除いて、と同じ長さの配列が他にない場合は、配列をA 一意と呼びます。例として、しかし、同じ合計のセットを生成する長さの他の配列はありません。Bf(A) = f(B)Af((1,2,3)) = f((3,2,1)) = {1,2,3,5,6}3 仕事 所与のためのタスク、nおよびsその長さのユニークな配列の数をカウントすることです。sとの間である1と想定でき9ます。要素が特定の整数sまたはのいずれかである配列をカウントするだけで済みますs+1。たとえば、s=1カウントする配列に1およびのみが含まれている場合2。ただし、一意性の定義は、同じ長さの他の配列に関するものです。具体的な例としては、と同じ合計のセットを提供するため、一意で[1, 2, 2, 2]はありません[1, 1, 2, 3]。 配列の逆数と配列自体を数える必要があります(配列がもちろんパリンドロームでない限り)。 例 s = 1、n = 2、3、4、5、6、7、8、9の回答は次のとおりです。 4, 3, 3, 4, 4, 5, 5, 6 の場合s = …