主客転倒

定義

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

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

例題

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

問題

ppを奇素数とする。11 以上 p−1p-1 以下の整数 kk に対し,kp+1kp+1 の約数のうち,kk 以上 pp 未満となるものの個数を aka_k とおく。このとき,a1+a2+⋯+ap−1a_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+⋯+ap−1=(p+1の約数のうち1以上p未満のものの個数)+(2p+1の約数のうち2以上p未満のものの個数)+⋯+((p−1)p+1の約数のうちp−1以上p未満のものの個数)={f(p+1が1 を約数にもつ)+f(p+1が2を約数にもつ)+⋯+f(p+1がp−1を約数にもつ)}+{f(2p+1が2を約数にもつ)+f(2p+1が3を約数にもつ)+⋯+f(2p+1がp−1を約数にもつ)}+⋯+f((p−1)p+1がp−1を約数にもつ)=f(p+1が1を約数にもつ)+{f(p+1が2を約数にもつ)+f(2p+1が2を約数にもつ)}+⋯+{f(p+1がp−1を約数にもつ)+f(2p+1がp−1を約数にもつ)+⋯+f((p−1)p+1がp−1を約数にもつ)}\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⋯ ,(b−1)a,aba,2a,3a\cdots,(b-1)a, ab を bb で割った余りはaaとbbが互いに素なとき全て異なる」(この性質の証明は一次不定方程式ax+by=cの整数解の「定理2の証明」の下側参照)より,nnを11以上p−1p-1以下の整数とすると,p+1,2p+1,…,np+1p+1, 2p+1, \ldots, np+1 のうち nn の倍数のものはちょうど 11 つある。よって,上の式の右辺では 11 を p−1p-1 回足していることになり,答えはp-1となる。

a1+a2+⋯+ap−1a_1+a_2+\cdots+a_{p-1} を求めるとき

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

求めました。

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

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

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