大阪大学医学部 Python会

Now is better than never.

CodeQUEEN 2025に参加しました!

2025-08-08(Fri) - Posted by 岡崎 in 技術ブログ    tag:競技プログラミング

Contents

    CodeQUEEN 2025 決勝戦に参加してきました! 3位でした!!

    CodeQUEENとは

    kenkooooさん主催の、女性向け競技プログラミングコンテストです。

    女性の競技プログラマーが少ないことを受けて開催されています。

    予選が6月に行われ、参加者のうち高校生、大学生・大学院生、社会人計50名が8月の決勝に選ばれます。

    予選

    6/14にABCとかねて行われました。

    普段は、緑diffまでは速解き出来ても水色diffが解けなかったり時間がかかったりするのですが、今回は水色diffがなく緑までの速解きで青パフォでした。

    まあ予選はさすがに通っただろうと思っていたら3位通過でした。え。

    緑までを速く解いただけで青diffの問題は何も分からなかったので、絶対に3位の実力なんてないのですが、とりあえずめちゃくちゃ喜びました。

    本選1週間前

    Ayunaさんが立ててくださったバチャに参加しました。

    初めて実戦でフローを流しました。ACできませんでしたが。

    後ろの方の問題は全く目を通せてないのですが、楽しかったです。

    本選

    オープニング

    御茶ノ水のソラシティで行われました。

    Tシャツを着ようか悩んでいたら始まりました。

    主催者のkenkooooさんのコンテストの説明やスポンサー企業の紹介が面白くて、かなり会場が和んでいました。

    コンテスト

    A~Fの6完でした。とてもうれしいので問題を振り返ってみます。

    A

    去年速く解くことを意識しすぎてBでペナを出してしまったので慎重に。でもソートするだけ。

    B

    やるだけかと思ったら計算量を考えないといけないやつだった。地味にいろいろミスった。

    C

    Cにしては難しかった。 それぞれの人がいつまでに来ないといけないかを考えれば解けた。椅子が埋まるまで案内しないことにするとわかりやすい。

    D

    平均が\(K\)以上という条件は各値から\(K\)を引くと和が\(0\)以上という条件になるというのを思い出した。\(K\)を引いてから累積和を取って、そこに出てくる値それぞれに対してそれ以上の値の最大インデックスを計算すると解けた。

    この時点で1位でかなりびっくりしました。前回解けなかったD問題が解けて成長を感じました。

    E

    見た瞬間中国剰余定理だ!となった。先月蟻本を借りて読んで習得したばかりでうれしかったが、yukicoderで解いたやつがどんな問題でどう解いたか思い出せず焦った。この問題は判定をすればよいだけなので、素因数分解して素数のあまりをメモって、素数ごとに矛盾がないか調べればOK。

    1ペナを食らいましたが比較的すんなり解けたのと、dokinさんに抜かれていたものの2位で頭の中はお祭り騒ぎでした。

    F

    制約からbit全探索、なんとなく包除原理だなと思った。隣り合ってはいけないけど隣り合っているペアの個数が奇数なら引いて、偶数なら足せばよくて、あとは隣り合わせるペアを決めたときに矛盾しないかと、かたまりが何個できるかがわかればよいので、次数を管理しながらUnionFindをすればOK。閉路がだめなことに気づかず2ペナ。

    この時点でも2位で、ますます頭の中がお祭り騒ぎでした。

    G

    Fの1ペナ後原因が分からず問題文をなんとなく読んだ。ライブ会場全て回らないといけないと勝手に思い込んで無理だなとなった。Fを解いた後にもう一回見たけど頭が舞い上がり過ぎてもうあんまり考えられてなかった。全然分からなくて順位表をチラチラ見てた。

    H

    先輩からレート順にみて普通に戦っても勝てないから一発逆転を狙え、みたいなことを言われていたのを今更思い出し、Gをあまり考えずにHに行った。パズルみたいだと思っていたが、解説を読んだら全然そんなことなかった。オイラー路の求め方とかわからないので無理だった。そもそもここでHを解いたところで一発逆転ではなかった。

    結果発表

    終了30分前から順位表が凍結されていたのですが、発表前に4位以上であることは確定しており、入賞が決まっていました。 入賞できたらうれしいなくらいで本当に入賞できると思っていなかったので、信じられなさ過ぎて結果発表まで何が起こったのかわかりませんでした。

    前で表彰されるときに緊張しすぎて足がガクガクしてました。

    とにかくとってもうれしい。

    懇親会

    今回も豪華な立食でした! おなかいっぱいになりました。

    参加者の方と交流したり、スポンサー企業のブースがあったのでそれをまわるなどしました。

    全てのブースをまわるとAtCoderのキーホルダーが釣れました。

    どこかインターン行ってみようかな

    最後に

    10位以上が目標で、頑張れば賞金もワンチャン狙えそうだなと思っていたら、まさかの3位でした。

    ICPC対策として、蟻本を借りて読んだのがかなり功を奏しました。(数学的な問題のところだけしか読んでないけど)

    競プロは完全に趣味の領域で、高橋君が変なことをする問題を解いているときに、なんでこんなことしてるんだろうと思うことがたまにあるのですが、こうしてオンサイトのコンテストに参加できて、表彰までしていただけると、頑張ってよかったなと思います。

    とても楽しいイベントを開催していただけてとても感謝です。 kenkooooさん、スポンサーのみなさまありがとうございます!!