• ベストアンサー

和が最大になるような数列の並びかえの問題

青チャートBの101番は以下のような問題です。 『自然数 1,2,3,・・・・,n をある順に並べ替えたものの一つをA1,A2,A3,・・・,An とする。1・A1 + 2・A2 +・・・+ n・An を最大にするような{An}はどのような数列か?』 この問題の解き方の指針は、こうあります。 『一般に、k・Anにおいて、k=An、すなわちAk-k=0のとき、Σk・Akが最大になる。 そこで、Ak-kとk・Akの関連を調べ、恒等式(Ak-k)^2 = Ak^2-2kAk+k^2 を考える。』 とあります。それに乗っ取り、解答では Σk・Ak=1/2Σ{k^2+Ak^2-(Ak-k)^2} という式から始まります。 上記のことを読んでいて理解はできるのですが、数学が苦手な自分すると、「もしこの問題を見たことがない人が初見でこの問題をテストで見たら、こんな発想できるものだろうか?」と考えてしまいました。 まずAk-k=0のとき、Σk・Akが最大になるということに気付き、そこから (Ak-k)^2 = Ak^2-2kAk+k^2 という恒等式を引っ張り出して、解答するなんていうのは、馬鹿な自分からするとよほど頭がいい人じゃない限り浮かぶものなのかなと思ってしまいます。 聞きたいことは、(受験勉強では)この問題は定石として覚えておくような問題なんでしょうか? それとも、このくらいの発想は進学校の人はできるものなのでしょうか・・・。

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

  • ベストアンサー
回答No.4

こんにちは。 英語のほうでお目にかかったような気が… > 聞きたいことは、(受験勉強では)この問題は定石として覚えておくような問題なんでしょうか? 全く覚える必要はありません。 > それとも、このくらいの発想は進学校の人はできるものなのでしょうか・・・。 それは人に依るでしょうが、同じ発想で解くにしても、その模範解答は説明の仕方が不自然でわかりづらいと思います。 問題集の模範解答を作った人は、本当はおそらく先に、  Σk・Ak=1/2Σ{k^2+Ak^2-(Ak-k)^2} を思い出したのだと思います。 これは掛け算の和を考えるときに、よく出てくる形ですので。 これは覚えるというか、知っておくと重宝すると思います。 ちなみに「知る」と「暗記する」はだいぶ違います。 しかし、模範解答のように、先に、Ak = k を予想して、それが動機で k・Ak と (Ak-k) の関連性を調べて…というのは、こじつけに見えます。 ちなみに、私なら次のように考えます。 > 『自然数 1,2,3,・・・・,n をある順に並べ替えたものの一つを> A1,A2,A3,・・・,An とする。1・A1 + 2・A2 +・・・+ n・An を最大にするような{An}はどのような数列か?』 これを一種の最適化問題ととらえます。そして、 1・A1 + 2・A2 +・・・+ n・An を 1~n の因子のかかった A1~An と解釈します。 当然、大きい因子がかかっている Ak ほど大きくなるようにした方が大きくなりますよね。 ということは、A1=1, A2=2, … An=n が最大になることが明らかです。 私が採点者ならこれで十分に正解にすると思いますが、もしもっと厳密な証明が必要と感じる場合には、次のような証明を加えればよいと思います。 k<mとして、第k項と第m項の和を k Ak + m Am を取り出して、Ak > Am と仮定すると、AkとAmを入れ替えたものの方が大きくなってしまいます。(k Ak + m Am < k Am + m Ak という意味。移項すればすぐにわかります。) 従って、どの二つの項を取り出しても、k<m なら Ak<Am になるはずです。従って、A1=1, A2=2, … An=n となります。 この証明は、本質的にはANo.1~3の皆さんの証明と同じようなものですが…。

syo-ryu
質問者

お礼

解答ありがとうございました。 答えが自明な気がしてよくわからないんですよね。 参考にさせていただきます。

その他の回答 (3)

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.3

うーん。そういう発想は出来るかなぁ。 でも、解法を覚えておかなくてもその場で証明を思いつくと思いますよ。 問題の性質からして、A1,A2...Anは比較的「揃った/規則的な」数列であろうと推測できます。 直感的に、A1,A2...Anは1,2,3....nであるときが最大になりそうだと言うことも思いつくでしょう。 あとは、帰納法で行くか、一般的に成り立つことを論証するかどっちかですが、後者を選んでみましょう。で背理法で考えてみます。 あるn(n>1)について 1・A1 + 2・A2 +・・・+ n・An =Xを最大にする{Ai}が 昇順でないと仮定します。 昇順でないということは、Ak>Ak+1が成り立つ k(1<=k<n)が少なくとも1つ存在します。 ここで、{Ai}の2要素を入れ替えた以下のような{Bi}を考えます。 Ai=Bi(i<kまたはi>k+1) Ak=Bk+1 Ak+1=Bk 1・B1+2・B2+・・・・+n・Bn=Yと置きます。 XとYを比べてみます。 Y-X=  k・Bk+(k+1)Bk+1-k・Ak+(k+1)Ak+1 =k・Ak+1+(k+1)Ak-(k・Ak+(k+1)Ak+1) =Ak-Ak+1 >0 これは Xが最大であるという仮定と矛盾します。 よって、{Ai}内にどこか昇順でないところがあるという仮定が否定されました。 1~nを並び替えた順列で至るところ昇順な数列は、1,2,3,・・・n だけです。 QED

syo-ryu
質問者

お礼

回答ありがとうございました。 参考にさせていただきます。

回答No.2

ΣkAkを最大に、しかもAkは1からnまでを並び替えたもの、 となれば、たぶん、Ak=kが答えだろうなぁ、と 推測はつくんじゃないかと思います。 それをもとに、もしAk=kじゃなかったら、どうなるかを考えます。 もし、An=nでないとする。 このとき、Am=nとなるnより小さいmが存在する。 また、An=aとすると、aはnより小さい値となる。 ここで、 (nAm+mAn)-(nAn+mAm) =nn+ma-na-mn =n(n-m)-a(n-m) =(n-a)(n-m) ここで、aもmもnより小さいので、上の値は正。 つまり、nAm+mAn>nAn+mAmがいえる。 これは、 Anがnではなかったら、Am=nとなるmに対し、 AmとAnを入れ替えたほうがΣkAkが大きくなる、 つまり、An=nとしたほうがΣkAkが大きくなることを 示している。 以下同じ議論をn-1、n-2…と繰り返していくと、 Ak=kがすべてのkにたいして成り立たないといけないことがわかる。 Ak=kじゃなかったら、入れ替えたほうが大きくなるよ、と 証明すれば言いだけの話。 参考書には時々思いつきもしないような解法を載せていたりするけど、 必ずしも、それを思いつかないとできないわけではないです。

syo-ryu
質問者

お礼

回答ありがとうございました。 もっと色々な解法を載せて欲しいです。 参考にさせていただきます。

  • tinantum
  • ベストアンサー率56% (26/46)
回答No.1

私なら次のように発想します. 任意の並び方(Ak)_{k=1,…,n}を考えます. もしAn≠nであるならば,ある番号j<nがあって,Aj=nとなりますが, (Ak)からjとnだけを入れ替えた新しい並び替え(Bk)を考えると, Σk・Ak < Σk・Bk であることが簡単にわかります. よって,Σk・Akを最大にしたいのであれば,少なくともAn=nであることがわかります. 次に,An=nを満たすような並び方を考え,A{n-1}≠n-1となるならば,また同じように並び替えをすればΣk・Akを大きくできるので,また, A{n-1}=n-1で考えればよいことになって…,以下同様に考えると, 結局 An=n,A{n-1}=n-1, … A2=2,A1=1 がΣk・Akを最大にするのだとはわかります.

syo-ryu
質問者

お礼

回答ありがとうございました。 色々な着想がありますね。 参考にさせていただきます。

関連するQ&A

  • 数列の問題です

    数列anの初項から第n項まあでの和をSnとする。 (1)Sn=1/2n^2+nが成り立つ時(i)一般項an(ii)Σ(k=1~n)kakの値(iii)Σ(k=1~n)1/ak・ak+1の値 (2)Sn=3an+4n+2が成り立つ時(i)a1の値(ii)an+1をan表わせ(iii)一般項anを求めよ 上の2つの問題の答えをどなたか教えてください。 特に(1)は解答の過程も教えていただけると幸いです。

  • 和の最大値

    正の整数の組(n,a1,a2,......an)はa1+a2+......+an=2008を満たす。 Ak=a1×a2×......×akのとき、A1+A2+......+Anの最大値を求めよ。 相加相乗でできるのかと思い、使うと Σ[k=1~n](2008/k)^k となりましたが、この和は求められるのでしょうか。 対数を取って眺めてみましたが、よくわからず。あとは思いつかず。 よろしくお願いします。

  • 数列の問題です

    数列{An}においてA1=1、An+1=(n+1)An (n=1、2、3・・)とする。〔1〕Anをnの式で表せ。 〔2〕n!≧2^n-1を用いてΣ1/Ak<2を証明せよ。(Σはk=1からnまで) ヒントが欲しいです。宜しくお願いします。特に〔2〕が分かりません。          

  • 数列の証明問題について

    数列の問題です。 A1、…、An≧0 さらに、 Σ[k=1→n]Ak=0 ならば、 A1=…=An を証明せよ。 について解答していただけませんでしょうか? できれば簡単な解説もあれば助かります。 課題を取り急ぎ完成させなければならず、 その中の最後に解けないでいる問題です。 どなたかご回答よろしくお願いします。

  • 【漸化式と数列】

    数列{an}は次の2つの条件(A)、(B)をみたす。 (A)an>0(n=1、2、3) (B)Σ(k=1~n)ak^2={Σ(k=1~n)ak}^2 (1)a1、a2、a3を求めよ。 (2)a(n+1)^2=a(n+1)+2Σ(k=1~n)akが成り立つことを証明せよ。 (3)数列{an}の一般項を求めよ。 答え (1)a1=1、a2=2、a3=3 (3)an=n 証明問題もありますが… 解ける方がいらっしゃいましたら、 解説お願いしますm(__)m

  • 数列の一般項(数(1)A)

    上記のとおりなんですが、ちょっと困ってます。 (見やすいようにa⇒Aと大文字で、項数を表すのに n,kと小文字で表記します) 数列{An}における一般項はもちろんAnですよね。 だから数列{Ak}の一般項はAkだと思うのですが、 これがAnということらしくて良く分かりません。 問題は東京経大の過去問なのですが、以下のとおりです。 2つの数列{Ak}、{Bk}の初項から第n項までのそれぞれの和がΑn=2n^2 + n ,Βn=3n^2 + 2nで表される。このとき (1)数列 {Ak}、{Bk}の一般項を求めよ 解き方は簡単で、誰でも分かるようなものですが、 {Ak}、{Bk}の一般項を求めよだから Ak=○k+△ Bk=□k+☆  見たいに出したんですが、解答では An=○n+△ Bn=□n+☆  となっています。どうして{Ak}の一般項がAkではなく、Anなのか分かる方教えてください。

  • 数列で分からない問題が

    答えをなくしてしまって 困っています。 どなたか教えてください。 問題 本来は小文字のaですが分かりにくいのでここではAにしてます。 1/A1+1/A2+…+1/An=nの2乗 (1)Anを求めよ (2)ΣK=1からnのAk×Ak+1 を求めよ お願いします。

  • 数列の問題です。

    数列の問題です。 数列{an}に対して、 sn=a1+a2+……+an tn=s1+s2+……+sn (n=1、2、3……) とおく。 (1) an=2^2n-1|の時、数列{sn}の一般項を求めよ。 (2) an=3の時、数列{tn}の一般項を求めよ。 (3) t1=tn+1|=3tn+(n+1)(n+2)を満たす時、数列{an}の一般項を求めよ。 以上(1)~(3) 解答お願いします。

  • 数列の問題!

    数列{An}がA1=1,A(2n)=2・A(n-1), A(2n+1)=A2n+2^(n-1)で与えられている。 (1)A2n,A(2n-1)を求めよ。 (2)S=2n      ΣAk   を求めよ。 k=1 A2nはAnと同じように考えていい・・・のですよね? 全然上手くいかず、ばたんきゅーです×× どなたか分かる方教えてください=(泣)

  • 数列の問題についてです

    数列anは初項a1から第n項までの和Snが、Sn=n+2anを満たしているとき、数列anの一般項を求めよ。 この問題での解答が写真です。 解答ではSn+1 -Sn = an+1 を使うことで求めていますが、 代わりにSn- Sn-1 = anを使って、n≧2とn=1に場合分けして解いてもよいのですか?