OMC222 writer記

こんばんは。今回はwriterを務めましたOMC222について、writer視点でのアレコレを書いていきたいと思います。

まず、開催にあたって、運営の方(主にKitayamaYujiさん、maple116さん、clipさん)、testerの皆様(Hi_mathさん、Tempurabcさん)、その他のwriterさん(amaruさん、Uhyo0808さん、masa_kasaさん、Ungiftedさん)には感謝を伝えたく思います。
問題ページは以下です。



開催まで

今回はセットとして投げたものではなく、運営側からピックアップされて作られたもののため、他のwriterの方については全く知らない中でwriterになっていた、という状況でした。審査済みのなかでも保留している問題があまりないので、今後こういうことは増えていくと思います。

前回のセット提出と異なり、自分が作った以外の問題をチェックする純粋なtester作業を行うのが初めてだったので少し楽しみでした。

今回少し盲点だったのが、tester作業を行うslackにwriterの人が全員いるわけではないという所ですかね。いたとしても気づいていなさそうなケースもあって、「writerがたくさんいるからtesterする人は足りているだろう」というのは誤った推測のようです。とはいえ、自分も十分な時間を取れるわけではなかったため、問題や解説の中身を見る作業を重視するような立ち回りになってしまったなと少し反省しています。

testerについて

前述の通り、今回は他の人の作問に対する初のtester参加で、少し新鮮でした。

今回であればwriterの中でtester作業をしたのは自分のみでしたので(slackに参加しておらず、解く作業をしている方はいらっしゃいました。)、参加できるなら参加したほうがいいのは間違いなさそうです。
ただし、(きちんとやるのであれば)本来お金が発生してもよい作業で、特に高校生以下の方に対して強制力が働いてはいけないと思うので、その辺は意識しておきたい点です。必要ではあるけど、タスクを押し付けたりするものでもないというのが難しいところだなと思います。

点数や順序というのは個人的にはどうでもいい要素と思っていますが、solverとして参加するときはそれに準拠した戦略で動いたりするので、ちょっと軽視しすぎだったかもしれません。数オリを最高権威と思いすぎないようにしたいところです。

自作問感想と作問過程

D

OMC222 D問題

中難度の組み合わせ問題として作成した問題。
この手の問題で進数を別解釈する手法は割と典型に分類されると思います。今回は3進数もどきで表示して基数を階乗に取り換える、というようなちょっと典型をいじった問題になります。提出時はもう少し計算を厄介にしていましたが、お手頃な難易度に落ち着きました。
また、自作問の中では最初の方に作っていた問題で、解説が解説の体裁を成していなかったのですが、諸々修正していただきました。
数字のお手軽さもあってか、非常に多くの人に解いていただく結果となりました。おそらく、手作業でもなんとかなりやすいという要素は難易度評価にあたっては重く見るべきポイントなんだろうと思いました。
[自己評価]5
作問過程
OMCでも基数を取り換える解釈をすると簡単に解けるようになる問題はあったと思います。「狭義単調増加正整数列 {a_i} と非負整数列{k_i}があって、価値a_iのコインをk_i枚まで使うことができるとき、払える金額のうちa番目に小さい金額f(a)としたときのfはどんなもの?」という(わりとありそうな)問題で、そもそも∑(1~t)a_ik_i < a_(t+1) のような性質があれば単純な問題になる、というやつです。
そこで、この性質が途中まで成立しないタイプでかつ価値のところが単純な指数でない(つまりn進数と単純にはいえないもの)ようなケースにすればそこそこの難易度かつ典型すぎない問題になるのではと思いました。
〇進数のところを階乗や何らかの数列にしたものを見たことがない場合は少し難しく感じられたかもしれませんが、そもそも手作業で地道に書き出せる範疇なので、もうちょっと大きな数に注文しなおしてもよかったかもしれません。

C

OMC222 C問題

一見よくわからないものが分母と分子にきている分数の値についての問題。提出時は最小多項式の次数が8次になるような角度設定にしていたため、さすがに最小多項式かどうかを判断する必要が出てくるという、別問題(工夫しない場合大学範囲)が生じるということで今回の形になりました。結局二重根号の形になるので、値に関して直接聞くような感じでもよかったかもしれません。
Ungiftedさんの提示した別解が自然かつスマートで、構造もわかりやすいと思います。そのため、点数や問題順を変更しました。作問側だと色々式変形をしていくうちに問題の形を得ているのでちょっとした近道に気づけなかったりするのが難しいところですね。
結果的にDよりも解かれておらず、三角関数や最小多項式、という道具が入るときは難易度を高めに見積もる必要がありそうという学びがありました。
また、既視感があったという人も多く、ある種典型と言えたかもしれません。図形的な解釈でも攻められると思います。
[自己評価]5
作問過程
代数的な式の値をシンプルに問う問題というのは数オリでも他コンテストでもよく見かけると思います。今回は三角関数の特定の範囲の和(具体的には、sin(1°)~sin(N°)の和/cos(1°)~cos(N°)の和)をいじっている最中に思いついた式変形をベースに出題しました。式変形を繰り返していくうちに遠回りしていましたが、うまく和積を使ってくくりだせば構造も明快になりますね。
この部分を気づけずに問題を投げてしまったのは申し訳ないです。作問にありがち…

2問採用でしたが、易し目なところからピックされた感じです。前回のこの点数の問題よりはかなり良心的だったのではないでしょうか。

他writer様の問題と解いたときの感想

A

OMC222 A問題

100点問題、いまだに丁度いい出題が分からないですが、これぐらいでいいんですかね。
OMC219の時にも思いましたが、創作感が薄い問題がたくさん投稿されていそうで、審査側も判断基準作るの難しそうですね。

B

OMC222 B問題

自分が解いたときはAP=AQと誤読して少し時間をつぶしました。(SNSを見たら結構そういう人がいたらしい)整数にならないのでペナルティには至らず。また、自分が解いたときは問題文もカッチリしていない状態だったので、少し解釈の時間もあったと思います。
200点幾何にしてはちょっと苦戦する可能性もあるように感じました(結構攻め方がいろいろありそうなので)実際そんな風なdifficultyになっていて、その感覚は一緒だと安心しました。

E

OMC222 E問題

算数チックできれいな敷き詰めをする問題。

模範解答の表示を思いつけず、一定の対称性に気づいた後はひたすら三角関数で計算しました。以下の計算になります。
S=4(8tan85°-sin40°/cos85°(cos40°/cos85°-sin40°/cos85°))
  = 4(8tan85°-√2sin40°/cos85°(cos(40+45)°/cos85°))
  = 4(8sin85°-√2sin40°)/cos85°
T=6(5tan85°-sin25°/cos85°(cos25°/cos85°-√3*sin25°/cos85°))
= 6(5tan85°-2sin25°/cos85°(cos(60+25)°/cos85°))
= 6(5sin85°-2sin25°)/cos85°
6S-7T = (-18sin85°+84sin25°-24√2sin40°)/cos85°
  =(-18sin85°+84sin(85-60)°-24√2sin(85-45)°)/cos85°
 = (24-42√3) cos85°/cos85°

出てる角度は割と露骨なので、正三十六角形自体は思い浮かびやすいと思います。そもそもよく見ると自分の計算でも本質的には正三十六角形に当てはめた上で計算しています。(また、自分は手元に用意していた三角関数の概算値を活用してアテをつけて式変形しました)
ただ、模範解の方法で書いたときに要求されている値においてはうまく有理数にならないところが打ち消す、というのがちょっと難しいかなと思いました。そもそも6S-7Tに謎に絶対値が付いている(別に負の値であっても今回は解答形式には困らない上にそもそも7T-6Sを問えばよいなどなど)のがちょっと気になりますが、まあ出題者のこだわりの範疇と思ったため特に指摘はせず。
いわゆる平面幾何、というよりは算数っぽさが強い問題(算数オリンピックにありそう)でしたが、図のインパクトも相まって好評でしたね。こういうのがツボとなりやすい、というのは勉強になりました。

F

OMC222 F問題

具体的な数について聞いている問題です。「222」も一応考察対象にあってちょっとだけ開催の番号と紐づいてると言えなくもないかも?
与えられた数をAとすると、Aと下から見たときの一致具合2で割れる回数が大まかに決定できます。特にAと下m桁が同じでm+1桁目が異なるときは10^m*(±3)変わり,下m+1桁の方は2でm+1回以上割り切れるので、結局丁度m回割り切れることになります。一方で、Aの下m桁だけ引っこ抜いてきたときに、これは上記の考察では漏れているため、2で割れる回数は具体的に計算しないといけません。高々15桁分だけなので、電卓で頑張りました。(順繰りにやる中で模範解答内のfと似たようなことは考えていました)
個人的には少し易し目に感じましたが、考察の糸口が見えづらい部分、勘違いしそうな箇所もある気がするので500点妥当かなと思いました。

この最後のv2(Aの下m桁)をズレた分として計算するパートは一件作業だけに見えますが、実は解説では少し賢く計算されていて、下の位から順にみたときの文字列の最長共通接頭辞の長さを計算することとなります。(→文字数に対して線形時間で計算でき、Zアルゴリズムと呼ばれる)

ただの作業気味の整数問題と思いきや、こんな計算の工夫ができるというのはかなり面白いですね。




この記事が気に入ったらサポートをしてみませんか?