• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:(1,2,3,…,n)の置換σでσ[1]<σ[2]>…<σ[n]などとなったとき)

(1,2,3,…,n)の置換σでσ[1]<σ[2]>…<σ[n]などとなったときの場合の数は?

このQ&Aのポイント
  • (1,2,3,…,n)を並び替えて、(σ[1],σ[2],…,σ[n])となったとします。
  • 不等号が、σ[1]<σ[2]>…<σ[n]などとなったとき、不等号の組の種類は、00…0から11…1までの2^(n-1)通りあります。
  • 不等号の組が2進法表示でmとなったときの、場合の数はどうなるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.2

ANo.1の続きです。 同じ事を、行列を使ってキレーに表すこともできる。(説明のない記号はANo.1のものと同じ。)  R(n, P)をn次元縦ベクトル N(n,P,1) N(n,P,2)   : N(n,P,n) とする。従って、 T(n,P)=(1,1,…,1)R(n,P) が成り立つ。  L[n]はn+1行n列の行列であって、 0、0、0、…、0、0 1、0、0、…、0、0 1、1、0、…、0、0 :   :   :   :   :  1、1、1、…、1、0 1、1、1、…、1、1 であるとする。  U[n]もn+1行n列の行列であって、 1、1、1、…、1、1 0、1、1、…、1、1 0、0、1、…、1、1 :   :   :   :   :  0、0、0、…、0、1 0、0、0、…、0、0 であるとする。  そうすると、 R(2,<)=L[1] R(2,>)=U[1] R(n, P<)=L[n-1]R(n-1,P) R(n, P>)=U[n-1]R(n-1,P) が成り立つ。  だから、 X(P,j)=(Pの右からj文字目が<のときL[j], >のときU[j]) とすると、 R(n, P)=X(P,n)X(P,n-1)X(P,n-2)…X(P,1) が成り立つ。 (証明はご自分で。)

その他の回答 (1)

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.1

とりあえず漸化式で表しておけば、計算は出来る。(もちろん、漸化式よりも計算に手間の掛からないスマートな方法があれば、それに越したことはない訳だけど。) やってみましょ。 "<"と">"の並びのパターン(以下、「パターン」と呼ぶ)が、「右端がsでその左にパターンPがくっついたもの」であるとき、これを Psと書くことにします。例えば "a<b>c<d" ならばパターンは"<><"なんで、 P=<>、s=<であって、Ps=<>< さて、1~nの数字の並びであって、右端がkであり、パターンがPであるときの場合の数をN(n,k,P)と書くことにすると、n>2について N(n,k,P<)=ΣN(n-1,j,P) (Σは k-1≧j≧1 となるjについて取る。) N(n,k,P>)=ΣN(n-1,j,P) (Σは k≦j≦n-1 となるjについて取る。) ということになる。で、初期値は N(2,1,<)=0 N(2,2,<)=1 N(2,1,>)=1 N(2,2,>)=0 (証明はご自分で。)  欲しいのは、1~nの数字の並びであってパターンがPであるときの場合の数だから、これをT(n,P)と書くと、 T(n,P)=ΣN(n,k,P) (Σは 1≦k≦n となるkについて取る。)  ところで、ご質問にある二進数の記法を用いるなら(<を0、>を1とみなすのだから)、 N(n,k,P)=ΣN(n-1,j,[P/2]) ([ ] は切り捨て。Σは  P mod 2 = 0のとき、k-1≧j≧1 となるjについて取る。 P mod 2 = 1のとき、k≦j≦n-1 となるjについて取る。) ということです。

関連するQ&A