shuji4649のブログ

気が向いたときに書きます

JOI2023/2024参加記

今回、本選に出場することができたので参加記を書いてみようと思います。

本選は今年が初めてでした。よわよわ競プロerなのでお手柔らかにお願いします。

 

一次予選

何事もなく通過しました。

 

二次予選

二次予選の時点でAtCoderのレートは778(茶)でした。

言語はいつも使っているPythonを使いました。

A問題

13:06:19で無事AC。ちょっともたついた。

B問題~

13:14:07 B問題を単純な累積和でまず小課題3までの47点を確保。

13:55:44 なかなかわからなかったのでC問題に移って小課題1,4,5の23点を取る。

~しばらくB問題に苦戦~

15:06:13 とりあえず先にD問題の小課題1,2の17点を取った

15:38:37 B問題、累積和と二分探索を使えばいいことに気づきAC!(遅い)

その後20分かけてEを解いてみるが得点は得られず

結果

100-100-23-17-0の240点。

本選進出のボーダーがなんと240点でぎりぎり通過しました!やったあ!

科学オリンピックで本選に行けたのはこれが初めてだったので嬉しかったです。

本選に向けて

ただ、本選に行ったとはいえ実力的に春合宿なんて行けるわけがなく、またロボットの方をやりたかったのであまりこれといった対策はしていませんでした。

いつも通り普通に競プロをして、レートは一応1100くらいまでは上がりました。

C++は、一応理解はできるし書けますが慣れてはいなく本選で使える自信はありませんでした。いつか移行しなきゃいけないのは分かってます。

本選1日目

本選は2日間に分かれて行われます。

1日目には開会式・講演会・プラクティス・交流会がありました。

 

開会式の一人5秒の自己紹介動画はみんな面白くて楽しかったです。

僕は「ー・ー・ー ・ー・ー・ ・ー・・ ・・・ー」と言って立ち去っていく動画を提出しました。

 

ラクティスでは本番と同じ環境で問題を解きました。AtCoderとは全然違ったので練習できてよかったです。C++全然使ってなかったしC++のローカルの環境構築とかも全くやってなかったのでだいぶ苦戦して、100点くらいしか取れませんでした。C++ちゃんと勉強しないとやばいなと思いました。

 

夜には双子さんの交流会がありました。僕は参加しなかったのですがすごく楽しそうだったので参加すればよかったと後悔してます。簡単に言うと暗号になっている問題文を解読してその問題に答えるっていう感じのものでした。

チームに入っていないのに勝手に問題を解いてGoogleフォームに出してしまいました。

Discordで話題になってた「チーム1.5」は僕でした。すみませんでした。

 

本選2日目

ついに本選の競技です。

きっとCランクだろうとは思っていましたが、とりあえず100点はとりたいと思って頑張りました。

考えるときはPythonで書いて、最後にC++に書き直す感じで解こうと思いました。

問題1

1時間近く「最大値」を「総和」と勘違いしていました!!!!

自分だけかと思ったら意外と多くてびっくりしました(でも1時間も気づかないのはひどすぎる)

Tで割った余りで全探索のO(NT)解法で85点取って次に行きました(14:05:22)

問題2

ワーシャルフロイド的な感じの書いたら小課題2(N≦50,M≦50)は通りました(15:02:37)。

あと小課題1も個別でプログラム書いて通しました(15:30:24)。

C++にてこずってちょっと時間かかってます。

 

とりあえずここまでで目標の100点は達成しました。

問題3

小課題1は通せました(15:59:59)。

あとは無理です。

問題4

無理です。

問題5

無理です。

 

というわけでここから1時間は虚無の時間でした。ちゃんちゃん♪

結果

85-24-7-0-0の116点でした。Cランクです☆

でも本選のDiscord見てて楽しかったしC++にも少し慣れることができたので参加できてよかったです。

 

最後に

今年1年間頑張ります。

次はBランク行きたい!