Try   HackMD

JOI春合宿 2024/2025 参加記

米 Starry Story EPの名前がめちゃくちゃ出ていますが、これは普通にハマってるだけです あとリンク先はもれなくSpotifyです

ちなみに競技終了当日とかに書いてるから記憶の捏造が少ない代わりにあとの展開がわかってなかったりします

0日目

表彰とか

銀賞ということでしばらく暇だった。後の方で賞の人たちといっしょに登壇することになった。

結構立たされた。祝辞とかしてたけどさっさと壇上から降ろしてくれ…

副賞でiPadとApple Pencilをゲットした。アツい。

その後交流会をした。紙で橋を作るみたいなことをしていた。紙2枚で消しゴム13個に耐える橋を作れるんですね~

Starry Story EPを聞いて就寝お休み!ところで星をつなげてっていい曲ですよね

1日目

とりあえず全問題を見る。fortuneは見て見ぬふりをする。

exhibitionが考えやすそうな見た目をしていますやんか、ということで考えた。すると雑誌の辞書順最小の位置に置く大嘘が生えた。ひどい。これは小課題4しか正当じゃありません!

このときは満点を確信していて、ノードに優先度付きキューを乗せる謎セグ木を頑張って書いていた。これはひどい。投げるが小課題4しか通らない。ここで嘘に気づいた。

諦めてtravelを見る。よく考えると、何だこの自明は。並列二分探索をするだけですね、対戦ありがとうございました。(100点)

exhibitionを引き続き考える。が、いろいろ嘘が紛れていって結局小課題1,2しかまともな解法は生えなかった。

諦めてfortuneの3点を取る。16点は考えたが合わなかった。

40-3-100の暫定3位。まずまずといったところ。fortune、解説聞いたらこれは16は思いつかないといけないやつじゃん

Starry Story EPを聞いて就寝お休み!ところでオトノイロっていい曲ですよね

2日目

とりあえず。thiefは見て見ぬふりをする。

stampが自身を難易度12と主張しているので、ambulanceを考える。こんなのは適当なDPでどうにかなるはずなんですが…

しばらく考えて、swappableなのってどんな配置だろうなというのに思いを馳せた。というのも、1次元の問題だと自明に左からと右からでいいわけで。これは左の病院が右の病院より右の患者を担当していたら、swapしても損しないため。でもこれは2次元だと片方損する場合があって…

としていくと、斜めのやつはswappableだなと思った。そうすると

N2 個の区切り方をして、そこから比較的素直な
O(TN2)
が生えた。最後の小課題だけ際どいなとか思いながら一旦おいておいた。

気は進まないがstampを見る。5秒くらい考えたら自明なことに気付いた。難易度10の問題を難易度12に見せるプロだろ作者

まあ実装も楽そうなので実装する。long longにすべきところをいくつかintにしていてペナったがほどなくして満点になった。ここまでで1時間ほど。

まあambulance実装するか~、になった。実装するが、小課題1,2しか通らない。配列のサイズをミスっていたので大きくするが小課題3しか追加で通らない。何かをバグらせているらしい。

in-placeなDPだったのを普通に書いたりしたが、一生バグを埋め込んでいた。すべてのバグが治ったのは2時間半時点くらい。それを81点覚悟で投げたら100点になった。ナイス~

thiefを考えるしかなかったので考える。重心分解方針は当然見えていたが何を思ったのか棄却してしまい、なんとかなる40点だけ取って終了。2時間半もあったんだから詰め切れろよ!

100-100-40。この日だけならぶっちぎりの1位で全体でも暫定1位になった。激アツ。ambulanceが思ったより解かれていなくてUnique ACだった。なんなら私以外のmaxが50点だった(81点ではなく)。

後ろの席のkeisuke6に、2時間半時点でambulanceを解いたことを察されていた。正解!

thiefの解説を聞いて、なんで重心分解方針を棄却してしまったん?になった。棄却していなかったところで詰めきれていたか/実装できていたかは怪しいところだが。まあ全問題最高点だからよし!(なんなら1日目もfortune以外は最高点なんだよな、fortuneさぁ…)

Starry Story EPを聞いて就寝お休み!ところで星の帰り道っていい曲ですよね

3日目

地獄

全問題を見る。OutputOnlyだヤッタ~をしていた時間を返してほしい。

conference解けそうだな~になって粘着した。これが地獄の始まりだった。事あるごとに嘘が発覚してどんどん解ける小課題が狭まっていって最終的に小課題1と6以外解けませんやんか、になってしまった。

1時間半くらい粘着してしまったが、諦めてmultiを見る。あーもう、絶対お前のほうが簡単やんけ。二分探索を雑にする70点だけ取って逃げる。これがダメすぎたのだが…

braveを見てみる。いやQが小さいのしか取れませんが…。とりあえず実装してワンチャン定数倍良くないかな~、と思ったが普通に無理だった。かなしいね。

conferenceのとれるところを取る。1と6は解けるのと、2はよく見たら自明なので処理。これ以外普通に解けないが…をしながら終了。

24-19-70。無事太陽。他の人の点数を聞いてすべてを察する。人々multiの100点を取っていますね~笑

multiの得点に至っては下から数えたほうが早くて、全体も真ん中あたりだった。まじで助けてくれ

ここで暫定3位に落ち、80点あった貯金が50点まで縮んだ。無限に100点取られている問題が70点だったので当然っちゃ当然。

解説を聞いたが、multiは解けなきゃダメでしたね~笑笑笑 ほんとうに反省をしないといけない

conferenceの解説は、なんかもう、うん…(笑)無理よこれ、なにこれ?19が普通に最高点なのは何?原案者(誰とは言いませんが)許さん 今日実質braveしかなかったじゃん(存在しない問題で-30点を取得していますが…)

というわけで明日50点以上捲られない勝負が始まった。耐えるぞ~~~

ちなみにこの日の海苔弁がうまかった。

Starry Story EPを聞いて就寝お休み!ところで月と太陽っていい曲ですよね

4日目

はい がんばりましょ~~

全問題を見る。circuitは知らん。

migrationが解けそう+uiroが難易度12を主張してるのでmigrationを解く。解ける。

解けたので実装しようとする。つらい。まあうだうだしてても実装は進まないので、やる。200行くらい実装して1回しかバグらせなかった。えらくね?2時間時点くらいでAC。

migrationが簡単枠に見えているので、他のもとらないと普通に負けると思った。難易度12を主張してるuiroを改めて見なかったことにして、仕方なくcircuitを考える。いや

N1000 とパスの
R70
しか解けないが…

というわけで改めてcircuitを捨ててuiroを解く。

N5000 はそりゃ解けるのでおいておいて、意味深制約であるところの
A[i]2
を考える。貪欲いけねえかな~と考えて実験してみる。ビンゴ!

A[i]20 までワンチャン解けるくらいの解法が生まれた。定数倍がヤバそうなのでとりあえず覚えておいてcircuitに戻る。たぶんcircuit全人類解いてそ~~~とか思ってたんじゃね?

circuitは進まず、解けたのを実装して順当に27点をいただく。uiroも実装して、

A[i]20 は通らず51点をもらう。ちょっと定数倍高速化したが80点にはならず、うーん

終了。若干怖かったが全体2位で順当に通っていた。やった~

shiomusubiに勝つのは無理だがまあ、去年も通った者の実力は見せつけられたかと…(3日目?知らない)

代表発表と記念撮影をした。作り笑いって難しいですね。多分広報誌の私は変な顔になってるかと思います。(なっています)

ひさしぶりに夜ふかしをします

Starry Story EPを聞いて就寝お休み!ところできみは帰る場所っていい曲ですよね(ちょうど5曲!)

余談

  • 東横線は平和でいいですね~
  • いろはすはいいですね~(配布されてないからわざわざ買った)
  • ピュレグミはいいですね~(配布されている)
  • SETはむずかしいですね…
    • 去年無双してた人間と同じ人間が無双してたね~
  • いやー、デバッグ実行に何度助けられたことか
    • コミュニケーションでは使えないけどな!!!
  • 今年のテンプレート:
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0; i<(n); i++)
#define rng(i,l,r) for(int i=(l); i<(r); i++)
#define all(x) x.begin(),x.end()
using ll=long long;
#define fi first
#define se second
#define elif else if

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
}
  • 実は今年はBITとセグ木(遅延含む)とUnionFindしかまともなデータ構造を使っていません
  • この辺から春合宿に関係なくなってきます
  • 日が足りない+Starry Story EPに入ってなくて溢れた分
  • Starry Story EPのGothic×Luck、復活ライブがあるらしいですね~
    • 別に最近ハマっただけなので行くかは微妙なんですが(爆弾発言)
  • けもフレ3の5.5周年記念のいろいろが手に負えなくなってきていてやばい!
    • 普通に☆4確定ガチャ30回は頭おかしいと思うの
    • なんでレベル150ドールちゃんよりレベル130ビャッコさんのほうが圧倒的に強いんですかね…
      • A. 初期レアの差
      • それはそれとしてドールちゃんはかわいいので永久に使いますけど
    • なんでハマったばっかのコンテンツにすでに30000円くらい溶かしてしまったんでしょう…
      • あ、流石にゲームの方には無課金
      • NTTの写真に写したアクスタはそれ
    • 4日目終わったくらいのタイミングでなんかやばいミッションが始まってる~~
  • ちゃんとラウンドワンに行ってきました

おわりに

というわけでちゃんとIOI代表になれた~、やった~(やった~?ボリビアですよ?)

今年はちゃんと金メダルをとりますよ、ええ。(逆ボーダー、ゴミ!)

あと寝坊しないようにだな…、実は去年2回致命的な寝坊をしでかしています

まあとにかくがんばります。おわりです。