otsunekoの日常

SOMPO HD プロコン2021(ABC192)&ARC113受験記

ままならんもんですね。この土日の2回のコンテストは、まさに天国と地獄でした。

SOMPO HD プログラミングコンテスト2021(AtCoder Beginner Contest 192)

ABC192

こっちが天国の方です。SOMPOさんありがとう。 問題との相性が良く、A,B,C問題まで14分弱で解けて初の緑パフォが出せました。 が、続くD問題は半分ぐらいのWAテストケースを残し時間切れに…

後で解説を見てみると、問題文の解釈を間違えてた事がわかりました。。Xが一桁でX<<Mなら、答えとなるようなnが無数に存在するのでは…?と思ってたんですが、そういう場合は1が答えになるようでした(参考)。なので喜び勇んで修正コードを提出しました。が…駄目っ…!悲しい。

解説を更に読むと、どうやら正攻法ではn進数表記に統一したXとMの大小比較の結果によって二分探索していくっぽいのですが、僕がせこせこ実装していたのはそれとは違うやり方で、X(二桁以上)の一番大きい位の数字aに着目して、a×xp1=Ma \times x^{p-1} = M (pはXの桁数)となるようなxを算出することで、n進数のnの上限が分かるのでは?というアプローチでした。実際は最上位より小さい桁も考慮して、桁上りによりXがMを超えないかの判定も考慮したのですが、解けず… 計算量も高々Xの桁数である60回のループで済むと思ったんですけどね…

このアプローチが詰んでいるのか、それとも実装にミスが有るのか知りたいので、奇跡的にこのブログに辿り着いた心優しいつよつよ競プロer様がおられましたら以下コードにコメントくださいませ…

駄目だったコード(ABC192-D)

AtCoder Regular Contest 113

ARC113

どう見ても0完です。本当にありがとうございました。初めてのレート減です。

開始後A問題を30分ほど考えるも方針立たず、B問題に。何やらB問題の方がシンプルそうで勝算あるかも?と思ったのですが、結局このB問題も前日のABC192-D同様エラー地獄から抜け出せずに敢え無く時間切れ…べき乗の剰余は本当に苦手で、この問題をしっかり復習して次につなげたいですね。てか皆さん本当にバグ取りするときのテストケースどうしてるんすかね?

で、後で解説見たらA問題普通に2重ループ回しとるやないですか。全探索はKの範囲的に無理ですね(メガネクイッ)てしてた自分が恥ずかしい。そっかぁ…範囲絞って回せば間に合うのかぁ…

振り返ってみて、ARC113は現在の実力が如実に反映されたコンテストだったと思います。正直、AB問題からして既に解けるかどうかも分からないのにARCに参加するのって、灰色コーダーにとってはレート的に結構コスパ悪い気はしてますが、何より自身の成長、経験のためにこれからも参加していこうと思います!

え?AGC?出るわけないじゃないですかwww

以上です。