主客転倒

定義

数学オリンピックで主客転倒とは,総和を,別の視点から場合分けし直すことで求めるテクニックです。double countingともいいます。

この記事では主客転倒について解説します。総和を求めたいけれどそのままでは求められないときに使えます。

例題

まずは例題を見てみましょう。日本数学オリンピック本選2016年1番の問題です。

問題

ppを奇素数とする。11 以上 p1p-1 以下の整数 kk に対し,kp+1kp+1 の約数のうち,kk 以上 pp 未満となるものの個数を aka_k とおく。このとき,a1+a2++ap1a_1+a_2+\cdots+a_{p-1} の値を求めよ。

解答

XXを命題とし, f(X)={1(Xが真の命題)0(Xが偽の命題) f(X) = \begin{cases} 1 &(X \text{が真の命題})\\ 0 &(X \text{が偽の命題}) \end{cases} とする。

a1+a2++ap1=(p+1の約数のうち1以上p未満のものの個数)+(2p+1の約数のうち2以上p未満のものの個数)++((p1)p+1の約数のうちp1以上p未満のものの個数)={f(p+11 を約数にもつ)+f(p+12を約数にもつ)++f(p+1p1を約数にもつ)}+{f(2p+12を約数にもつ)+f(2p+13を約数にもつ)++f(2p+1p1を約数にもつ)}++f((p1)p+1p1を約数にもつ)=f(p+11を約数にもつ)+{f(p+12を約数にもつ)+f(2p+12を約数にもつ)}++{f(p+1p1を約数にもつ)+f(2p+1p1を約数にもつ)++f((p1)p+1p1を約数にもつ)}\begin{aligned} &a_1+a_2+\cdots+a_{p-1}\\ &= \quad (p+1 \text{の約数のうち} 1 \text{以上} p \text{未満のものの個数})\\ & \quad +(2p+1 \text{の約数のうち} 2 \text{以上} p \text{未満のものの個数})\\ & \quad +\cdots\\ & \quad +((p-1)p+1 \text{の約数のうち} p-1 \text{以上} p \text{未満のものの個数})\\ &=\quad \{f({p+1} \text{が} 1\ \text{を約数にもつ})\\ &\qquad\quad + f({p+1} \text{が} 2 \text{を約数にもつ})\\ &\qquad \quad + \cdots \\ &\qquad\quad + f ({p+1} \text{が} {p-1} \text{を約数にもつ})\}\\ & \quad + \{f({2p+1} \text{が} 2 \text{を約数にもつ})\\ &\qquad\quad + f({2p+1} \text{が} 3 \text{を約数にもつ})\\ &\qquad\quad + \cdots\\ &\qquad\quad +f({2p+1} \text{が} {p-1} \text{を約数にもつ})\} \\ &\quad + \cdots \\ &\quad + f({(p-1)p+1} \text{が} p-1 \text{を約数にもつ})\\ &= \quad f({p+1} \text{が} 1 \text{を約数にもつ})\\ &\quad + \{f({p+1} \text{が} 2 \text{を約数にもつ)}+f({2p+1} \text{が} 2 \text{を約数にもつ)}\}\\ &\quad + \cdots\\ &\quad + \{f({p+1} \text{が} {p-1} \text{を約数にもつ})\\ &\qquad \quad + f({2p+1} \text{が} {p-1} \text{を約数にもつ})\\ &\qquad \quad + \cdots \\ &\qquad \quad +f({(p-1)p+1} \text{が} {p-1} \text{を約数にもつ})\}\\ \end{aligned} ここで,整数の有名な性質「a,2a,3a,(b1)a,aba,2a,3a\cdots,(b-1)a, abbb で割った余りはaabbが互いに素なとき全て異なる」(この性質の証明は一次不定方程式ax+by=cの整数解の「定理2の証明」の下側参照)より,nn11以上p1p-1以下の整数とすると,p+1,2p+1,,np+1p+1, 2p+1, \ldots, np+1 のうち nn の倍数のものはちょうど 11 つある。よって,上の式の右辺では 11p1p-1 回足していることになり,答えはp-1となる。

a1+a2++ap1a_1+a_2+\cdots+a_{p-1} を求めるとき

  1. それぞれの項をいったんいくつかの要素の和に「分解」し,
  2. 分解してできた要素の順番を入れ替えてまとめ,いくつかの項の和として表し,それぞれの和が求まるようにして

求めました。

このような定石を主客転倒といい,数学オリンピックの組み合わせ分野(C分野)で頻出です。

モンモールの問題の応用の方法1でも,主客転倒が使われています。

主客転倒を使いこなせるようになると,組み合わせにかなり強くなれます。