| For All Solvers
OMC051 (Wolfram Cup)

OMC051(F)

 スコアを最大化する XX について考える.ある整数 aa を十進法表記したとき a=a1a2a2021a = \overline{a_1a_2 \cdots a_{2021}} と表せるとする. さらに bi=9aib_i = 9 - a_i とすれば,aXa \in X となるための必要十分条件は \oplus を排他的論理和として b1b2b2021=0(1)b_1 \oplus b_2 \oplus \cdots \oplus b_{2021} = 0 \tag{1} となることを示す.スコアの定義より,SS の元を大きい方から順に見て,XX の元となり得るものを貪欲に選択していくのが最善である.したがって,a>ka \gt k での同値性を仮定し,a=ka = k で成立を示せばよい.
 kk(1)(1) をみたすとき,kk とちょうど 20202020 桁が一致する数は,(1)(1) の左辺において kk から一文字のみが変化するから,(1)(1) をみたさない.仮定よりそのような数は XX に含まれないから,kXk\in X である.
 逆に kk(1)(1) をみたさないとき,(1)(1) の左辺の値を二進法で表したときに,11 となる桁の中で最も位の大きなものをとれる.bib_i の中から同じ桁が 11 となるものを一つ任意にとり,(1)(1) が成立するような bib^\prime_i に変更してできた数を aa^\prime とすれば,bi>bib_i \gt b^\prime_i より a<aa \lt a^\prime で,さらに aXa^\prime \in X であるから,aXa \notin X が従う.
 したがって,以下 (1)(1) をみたす組 (b1,,b2021)(b_1, \ldots, b_{2021}) を数え上げればよい. b1,,b2021b_1, \ldots , b_{2021} の中で 88 の位が 00 であるものが存在するから,その中で最も添字の大きいもので 1,2,41, 2, 4 の位を調整することを考えれば,求める値は X=n=01010(2021C2n×820212n1×22n)=22017×2n=01010(2021C2n×420212n)=22017((4+1)2021+(41)2021)=22017(52021+32021)\begin{aligned} \lvert X \rvert &= \sum_{n=0}^{1010} \Bigl({}_{2021}\mathrm{C}_{2n} \times 8^{2021-2n-1}\times 2^{2n}\Bigr) \\ &= 2^{2017}\times2\sum_{n=0}^{1010} \Bigl({}_{2021}\mathrm{C}_{2n} \times 4^{2021-2n}\Bigr) \\ &= 2^{2017}((4+1)^{2021}+(4-1)^{2021}) = 2^{2017}(5^{2021} + 3^{2021}) \end{aligned} Fermatの小定理などよりこれを 10091009 で割った余りは 682\textbf{682} である.

解説YouTube

解説YouTubeが存在しません.