大阪大学のICPCチーム、honmono shinchanのshinchanです。タイのバンコクで開催された「ICPC Asia Bangkok Regional Contest 2025」に参加しました。
※長くなるので、この記事ではICPCの参加資格復活の経緯について記載しません。
チーム紹介
shinchan
情報科学研究科の修士2年。ラストイヤー(2回目らしい)。6度目のICPC。最近AtCoderのレートの伸びがよく、2200に乗りました。Codeforcesも赤に戻したいところですが…。 ICPCチーム The Revenge of shinchan のチーム名担当。
https://atcoder.jp/users/shinchan
Gandalfr
情報科学研究科の修士1年。AtCoder水(Highest青)。ラストイヤー。昨年までは同じ学年のHerring101やhiro71687とチームを組んでいた記憶がありますが、この2人は今年は2軍入りしており(↓下のURL参照)、そこに悔しさもあるんじゃないかなと思ったのが誘ったきっかけです。エンジニアリング方面が強いです。私よりはC++について詳しいです。
2025/Teams/List - ICPC OB/OG の会
https://atcoder.jp/users/Gandalfr?lang=ja
itokoi
医学部3年。AtCoder水。CodeQUEEN2025決勝3位。今年が初めてのICPC参加です。Python使い。
他のCodeQUEEN参加者からは「早解きが得意なイメージ」と聞いていたのですが、高難度問題もしっかり戦えています。
https://atcoder.jp/users/itokoi?lang=ja
littlegirl112
コーチです。
幼女、よじょなどと呼んでいます。私と同じく情報科学研究科の修士2年です。コーチ業に関しては、半年前からいろいろととてもお世話になってます…。
https://atcoder.jp/users/littlegirl112?lang=ja
チーム名について
チーム名に自分の名前を入れること(入れてもらうこと)には元からかなり興味がありました。
The Revenge of shinchanに対抗した名前にしてみようと思ったのと、ロボてりー(https://x.com/terry_x86) に対しててりーさん(https://x.com/terry_u16) が「ほんものてりー」と呼ばれていることから真似して、ほんものしんちゃんにしました。
他にチームメイトから案がでなかったので決定。
きっかけ
OKが出るまで(詳細は別記事で)
国内予選の前後で私の気持ちは大きく変化しました。6月上旬までは出たいという気持ちでいっぱいだったのですが、8月に突如メールが来たときには、「全員平等に引退しようよ…」という気持ちに変化していました。
しかし、もし出られることになった場合、横浜でJAGとしてThe Revenge of shinchanのWF進出決定を見守るより、Asia Pacific Championship (以下、APAC) でそれを見たいと思いました。そして、チームメイトになってくれる人が、ラストイヤーであれば、最後にいい思い出になってくれたら。そうでなければ今後成長してくれることに期待して、参加したいと思うようになりました。
チーム結成
ICPC日本側運営からGoサイン(と私は認識しています)が出て、私がチーム募集をかけたのが9月11日のことです。
運営からは、「横浜Regionalに参加させることはできないが、海外Regionalに参加が可能」とのことでした。また、7月にあった日本の国内予選に落ちている阪大メンバーを誘ってチームを組むことも可能でした。
なので、ICPC参加資格が残っていて、横浜Regionalに参加しない人をレートややる気、レスの早さ、成長性などを考慮して上記2名を誘ったところOKしてくれたので、この3人で組むことになりました。9月12日のことです。
正直なところ、レート2200から見ても青と水ではだいぶ差があると思っていて、阪大には青以上が残っていなかったのでレートはそれほど気にしていなかったです。ライブラリ準備の手伝い・ライブラリ写経・英語問題文読解・C++仕様・数学・データ構造知識などについてなにか秀でていれば良いと思ってました。
gandalはライブラリ準備・写経などの雑用・エンジニアリング面を従順にやってくれそうと思って、Daylight (昨年のチームメイト) みたいな感じで扱っています。
itokoiはPythonでの虚無問題の早解きだけでなく、医学部であることから、受験から得た英語力や数学力に期待できそうと思って、僕にできないことをやらせる枠です。
Regional選択
決定的な理由は3人の予定が合うのがBangkok Regionalだけだったからではあるのですが、他にもいくつかあります。
まず、以下のような要因でAPACに進めない可能性を考え、どうせならチームメイトの2人にRegionalだけでも楽しんでくれたらと思ったことです。 実力面、横浜でRevengeが優勝、「自分やっぱり参加資格復活してないんじゃないか??」「もしかしたら突然失格になるかも」なんていう可能性もありました。
そして、タイ国内のチームは1つを除いて強くないこと(海外チームのことだけ考えればよい)。
相談も何人かにしました。Kuroni からは東南アジアのRegionalの難易度感について教えてもらいました。ttamxからは、3月のシンガポールでのAPACの時点でBangkok Regionalの存在を教えてもらってて、改めて、バンコクに誘われました。
また、少し野望もあって、APACでまともにRevengeとやりあって勝てるわけがないので、Bangkok Regionalでワンチャンの優勝を狙っていました。
練習
チーム練内容
チーム練は毎週、計6回行いました。毎回部屋を貸してくださった研究室の方々に本当に感謝しています。
元々チームメイト2人の特徴は一切知らなかったし、itokoiはチーム戦の経験もほとんどないです。なので6回というのは、水色の2人にとってみても、6週間ほどしかない猶予を考えてもかなり多いように思いますが、実際にはまだまだ練習が足らなかったです。
練習に使ったセットは、過去のタイのRegionalや最近のタイの国内大会、Chulalongkorn大学の内部コンテストがCodeforcesのgymにいくつかあるので、それを使いました。このときにも、僕が過去問を見つけられなかったり、新しいセットが生えたときはttamxが毎回教えてくれました。また、物理好きが並走してくれて、感想戦を行ったりもしました。
https://codeforces.com/gym/101161
https://codeforces.com/gym/102091
https://codeforces.com/gym/106118
https://codeforces.com/gym/105335
個人練内容
チームメイト2人が日本語配列キーボードを使ってたことに対して僕がちょっと残念がってたら2人とも英字配列を買ってくれました…、ありがとう…。
ソロでもタイの問題のupsolveをしました。
https://codeforces.com/gym/106069
2人共通して指示したのは、英語問題文の読解の練習です。僕が一番苦手としているのがそこですし、競プロ以外でも役立つほうが積極的にやってくれるかなと思ったのが理由です。
追加でgandalに指示したのは、ライブラリの整備と写経の練習です。セグ木をgandalが書きやすいように改造してもらい、写経の練習をしているうちに、ソラで書けるようになっていました。
一方でitokoiに指示したのは、これまで通りレートを上げることです。おそらくすぐに青になりますし、来年以降のICPCでは確実に主戦力に入ります。あと、阪大からCodeQUEEN優勝が出たら嬉しいです。
私はいつもどおりAtCoderやCodeforces、それからUniversal Cupにも新しくチームを組んで参加しています。また、gandalと協力して昨年の私のチームのライブラリを改造しました。
わかったこと・戦略
昨年の私のチーム(kotamanegi_hint_kureya)では、3人とも同学年で、チーム結成当初はレートも近かったので、お互いに積極的にコミュニケーションを取ることができました。一方で、今年のチームメイトはかなりおとなしいように見えました。2人とも私よりレートが数段階低く、後輩なので、どうしても怖がられてる可能性があります。
ICPCでは、限られた時間で、読解できた問題の伝達をいつも以上に早口で、正確に、簡潔に伝える必要があります。聞く側も、問題に感じた違和感に突っ込む必要があります。以下の、2024年のWorld FinalsのSpeed StarのReactionsは、かなり自分の理想に近いコミュニケーションをしていると思いました。
https://news.icpc.global/reactions/2024/?team=132
私はチーム練で意図的に、最初は気持ちゆっくりめに話し、練習を重ねるごとに、本来の早口に戻していきました。チームメイトに自信を持ってほしくて、「腹から声出して」なんて言ったかもしれません。 チームメイトも、最初より格段に積極的になってくれたと思います。
練習を重ねるうちに、gandalの知識の多さ、itokoiの解法の糸口を掴む力に気づきました。
そこから、競プロっぽくない問題はgandalに任せ、知識があまり必要ない(知識が意味をなさない)問題にitokoiを張らせることが多くなりました。実際、僕がわからなかった問題がitokoiに解けることも少なくなかったです。私は可能枠・自明枠を確実に通し切ることに徹しました。
その他の準備
参加登録
※コーチである、よじょの参加記に詳細が書かれると思います。
チームを組んだ直後は参加登録が始まっていなかったのですが、参加登録が始まった旨をttamxから連絡してくれました(始まってから数分のことでした)。どうやら、インスタを見ていればそういった情報が入ってくるようです。参加資格が復活したという旨も含めて、コーチからBangkok Regional運営に連絡してもらい、OKがでました。
参加費の支払いではコーチが想像よりもかなり大金を払っていて、8000バーツ(だいたい4.8をかけると日本円になる)を1人あたりだと認識しているようでした。さすがにそんなことはないと思ってホスト大にいるttamxに聞くと、運営に聞いてくれて、per teamだと返ってきた。結果として、Regional Day1のRegistration時に、10万円を超える現金がバーツで返金された。
参加チーム
登録が終わってからコンテスト環境・ルールが発表されたり、参加チームが公開された。
元々kuroniから、WFで32位だったHCMUSのチームや、NUSから3チームが参加するということを教えてもらってはいたが、NUSからは4チームで、台湾大も来るし、WFで10位だったソウル大のチームが来るというのを知ってさすがに優勝は諦めた(このチームは韓国予選でも優勝していた)。
そのくせに参加チームは少なく、site scoreも期待できない。なぜなら、Bangkok Regionalはタイ国内チームにも数万円ほどのお金が参加料としてかかるため、国内チームが少ない。その上、国内大会はRegionalの予選としての立ち位置ではなく、単に広告目的であるということ。そして、国内大会はオンサイトであるため、参加チーム数が限られること。
正直、どのみちタイしか選択肢がなかったし、自分もタイに行きたかったので、まぁそこに関しては運が悪かったねという感じ。魔境だなぁ。
コンテスト環境
ほとんどはDay1の開会式時に伝えられたものです。
Yokohama Regionalと違うところがいくつかあった。ライブラリはAPACと同じで、片面25ページ。上着などを持ちこんで良いが、持ち込むものはすべてday1のリハーサルのときに置いて帰ること。キャンディーとya dom(タイの鼻薬)が持ち込み化だった。ya domに関しては研究室の同期からお土産として要求されてた(眠気覚ましになるらしい)ので、そんなにいいものならと、僕も自分用に購入して持ち込むことにした。キャンディーは現地のセブンイレブンにメントスがあったので購入して持ち込んだ。また、筆記用具は自分で用意する必要があった。
また、印刷ページ数制限があり、50ページ以下である。それも、1ページは50行ほどで、ちょっとシビアかもしれないと考えていた。countpagesというコマンドで印刷するファイルのページ数や残りの印刷可能ページ数がわかる。
キーボードはペチペチキーボードで、それだけならまだいいとして、ほんっとうに、ほんとうに、打ちにくい。タイのチームもみんな言ってた。全部キーボードのせいにしていいレベル。
あと強いていえば、机の上に布が敷かれていてちゃんと固定されてないので、マウスを動かすとついてきてしまってマウス操作もままならなかった。これについては下にライブラリの紙をしくことで対処したが、そこに面積を使うほど机も大きくなく、...。
あと、リハーサルでも本番でもたまに画面がブラックアウトしていた。他のチームもそうだったらしいが、まぁ合計して1分程度しか変化しないと思うので、clarは投げなかった。

その他
discordがあり、参加チームに誰がいるのかがわかったり、質問が適宜可能でした。私も3回くらい質問しました。
ICPC自体とは関係ないが、海外に行くときにやることとしては、ホテルや航空券以外には、Wi-Fiと保険である。保険はこれを毎回使ってます(広告か?) https://off.sompo-japan.co.jp/top 。Wi-Fiは、これまでは空港で借りるタイプのを使ってたのですが、esimを使ってみることにしました。価格ドットコムから3日間で無制限のものを選んで、450円くらいでした。
また、ttamxから事前に知らされていたこととして、最近タイ国王の母が亡くなったらしく、服は黒とかのほうがいいかも、など教えてもらいました。実際にはそこまで気にする必要はなかったようですが、空港や寺など、街の至るところに説明つきの写真が飾られていました。
Day0(移動日)
到着まで
あまり寝れなかったです。家を7時15分くらいに出発し、関西国際空港に9:30くらいに着きました。
集合して、荷物を預けたり、昼ご飯を食べたりして、12:00発(の予定だったがもちろん遅延)のVietjetに乗りました。APAC開催国である台湾でのtransitで死亡フラグを立てます。
— shinchan (@Sophia_maki) 2025年10月31日
機内では、あらかじめ印刷していたベトナムのセットを、itokoiと一緒に考察しました。解かれてる範囲の問題は全部解けたと思います。実装は大変そうですが。
https://oj.vnoi.info/contest/icpc25_mt
到着後
無事にタイに着きました。時差は2時間で、現地は7:00くらいでした。
grabでタクシーを捕まえようと思ったのですがなかなか捕まらず、電車に乗りました。切符はコインのような形状で、入るときはこれを改札にタッチ、出るときは改札に入れます。

ホテル最寄り駅に着いてホテルまで歩いてると、大麻の店がかなり多く、タイに来たことを実感しました。匂いも20m歩けば極端に変わり、正直どれが大麻の匂いなのか一切わかりませんでした。車はごくたまにHyundaiやTeslaのものがありましたが、ほとんどは日本車でした。
草生える pic.twitter.com/rRO2oMlEp3
— shinchan (@Sophia_maki) 2025年10月31日
ホテルではハロウィンということ、くじ引きでお土産をもらいました。石鹸をもらいました。コーチはなにやらいいものを引いてそうでした。街中でもハロウィンスタイルの仏教っぽいものがあったりしました。ホテル内での電話・テレビ・エレベーター・エアコンなどもほとんど日本製でした。ホテルでは、またも海外に来たことを実感するイベントが発生しました。

ホテルからの景色は少し怖かったです。

晩御飯はタイっぽい感じのところに入り、牡蠣と卵を焼いたなにかと、おすすめされていた海老を食べました。海老がとても大きくてびっくりでした。


セブンイレブンは日本とわりと似ていました。ya domあるかな?と思って聞いたらあったので、3本購入しました。
Day1
Registration
Registrationは9時から10時半なので、8時40分にロビーに集合し、Grabでタクシーを呼びました。朝ごはんは各々でした。日本から持ち込んでいたUFOを食べました。
タクシーがなかなか捕まらず、待ち時間も長かったので着いたのは9時45分くらいだったと思います。スポンサーブースでスポンサーと話していろいろもらいました。日本から来たと言うと、だいぶ嬉しそうにしてくれました。少し日本語が話せる人もいました。
ttamxとも再会し、日本から持ち込んでいたどらやきを、そのチームメイトにも配りました。Day2含め、話した人のほとんど(30人くらい?)にどらやきを配ったのですが、元々どらやきを知っている人が多かったです。聞くには、ドラえもんがかなり有名そうでした。
開会式
開会式があり、学長の挨拶(!?)、スポンサーセッションや、上記のコンテストの詳細ルールが発表されました。




開会式の最中、 Kriz Wu が1つ後ろの列にいることに気づき、エンカしました。HCMUSのキーホルダーをもらいました、かわいい。


式の終盤、前述の国王母の件で、黙祷を行いました。これ以外で、なにか制限はなかったです。
食堂っぽいところに移動し、昼ご飯を食べました。味はバターっぽい感じの味で、脂っこくて少し残しました。チキンの方はおいしかったです。食堂では机の上に平然と鳩がいました。


リハーサル
問題
問題は以下の通りです。(記憶が間違ってたらすみません)
A
1000桁以下の正整数が100000個与えられる。総和をmod1250で出力。
B
万有引力に関して3つくらい値が与えられるので、なにかを計算する問題(僕は読んでないのであまり覚えてないです)。
チームメイトが式変形したものが みたいな形になってた気がする。
C
N個の商品がある。i番目の商品の値段はAi円。10Ai円以上持ってるときにAi円の商品を変える(買うとAi円手持ちが減る)。今M円持ってるので、最大何個買えるか。
D
インタラクティブ。N×Nのマスのどこかに駒がある。(x,y)を投げると、xまたはyの少なくとも一方があってればyesが返ってくる。N+1回の質問で当てる。
流れ
隣のチームのチーム名が"OniChannnn"だったので気になってたのですが本番も来てませんでした。
リハーサルはfirefoxを開くところから始まりました。IDとパスワードはいつもの"Do not touch anything" の紙の裏に書かれてました。問題は封筒の中に入ってました。リハーサルはガチる必要なくてあくまでも確認だけするつもりでした。
最初、pcは真ん中にあったのですが、途中で左に動かしました。
リハーサル開始と同時に、Gandalにブラウザ, vscodiumを開いてログインするところまでを説明しました。問題の封筒を開けて配りました。Aをitokoiが読み、私はCを読みました。settingを終えたgandalがBを読みました。
Cがソートしてにぶたんやるだけだったので書きました、AC。
Aは、itokoiが「これなんですか?」と聞いてきました。見ると、C++のcin高速化の方法などが書かれていたので、それのPython版だろう。TLも0.3sだった。いろいろ試してもらったがREとかが出てた気がします。結局、その呪文を付けなかったらACしました。ほんとになんだったんだろう。itokoiがやることなくなったあとにスマホで調べてました。
おそらく、普通にint(input())して総和とあまりを取るとそれを付けないとだめなのだろう、と思ってやってみたけど、まぁ最後まで使い方がよくわからない呪文でした。解法は文字列として受け取って下4桁やるだけで、itokoiが考察・実装。
Bも式変形をすると求めたいものはすぐわかり、誤差だけ怖いねーという問題だった。Gandalが考察・実装するもWA。
itokoiがDを読んでたのでそれを聞き、itokoiにGandalを手伝ってもらった。Dは(i,i)を全部聞いたら高々2通りになるのであと1回で一方の可能性を消すだけになる。先にDを実装してAC。
2人がBを考えている間に、pb_dsやrope、QCFium法、ライブラリのhashが動くことを確認しました。
gandalがいろいろ試すもたぶん誤差落ち。
結局僕が入って、いろいろ試して連投すると通りました。13ペナとかだったと思います。結局、全部sqrtしたあとに計算したほうが精度が上がったはず。正解したときには順位表が凍結していたので、Kriz Wuとかに心配されました。リハーサル後はかなり自由に写真を撮りました。翌日使うものを置いて帰りました。 Kriz Wuたちのチーム HCMUS-AleaJactaEst や ttamx とマスコットで戯れ、Demen100nsともエンカしました。


Day1解散後
リハーサル後は、コーチが調べて出てきた、ワット・ポー(涅槃寺)に電車を使って向かいました。
電車の切符購入は反応が悪くて苦戦しました。

寺はめっちゃよかったです。東大寺以上にスケールの大きい仏や、多くの金色の仏像。建築は仏像と違ってかなり細かくカラフルで、イスラムやロシアっぽさも感じました。




中では屋台もあり、コーチはなにやらよくわからないものを買っていました。食べた感想は「ハイボールに合う」だそうです。
https://x.com/Sophia_maki/status/1984558607334342893
私はマンゴーとココナッツのミックスのソフトクリームを買いました、とてもおいしかったです。

涅槃仏の建物に入ると、近くに日本人がいるようで、日本語が聞こえてきました。「足の裏が本質」と聞こえてきた気がして、見ると、ここにも細かな絵が描かれていてすごかったです。

寺の中にも、国王や国王の母の写真が多く飾られていました。
その後はバスに乗ってホテルに帰りました。バスは乗りこむと同時に出発するので日本に比べるとちょっと危ないです。運転手のほかにもう1人いて、どこまで行くかを聞かれ、お金を払いました。
そしてホテルから歩いていけるスーパー(?)に向かってお土産を買いました。食品やおむつ、扇風機まで、毎列に日本製品がありました。タイ限定の味のコアラのマーチと、ドイカムという有名なメーカーのドライマンゴー、それからya domを爆買いしました。
タイっぽい店に入り、晩御飯を食べました。最初は匂いが苦手だったのですが徐々に慣れました。飲み物はタイコーヒーを頼みました。とても甘く、最初はおいしかったのですが、徐々に飽きてしまいました。チキンはおいしかったです。


その後、男3人でマッサージに出かけました。gandalと私はfixstarsの服を着ていて、2人で同じ店に入ったので「社員旅行みたい」「いやっすよ笑」なんてことを話していました。タイ古式マッサージを選択し、暗い奥の部屋に入って若い男の人にしっかりほぐされました。かなり良かったです。

夜食に日本から持ってきたカレーヌードルを食べて就寝しました。
Day2
7時にRegistration開始、8時にコンテスト開始というかなりやばいスケジュールです。6時半にチェックアウト、そしてタクシーで会場に向かいました。Registration後、Kriz Wuらとだべって過ごしました。
コンテスト本番
gandalにsettingをしてもらう予定が、ログインなどはリハーサルと違ってすでにされていました。
また、事前にdiscordで連絡があったのですが、計算用紙はライブラリに数えるため、預かられていました。
序盤
gandalには当初と予定を変えてテンプレートを書いてもらいました。itokoiはAを読むつもりだったのですが、僕がざっと見た感じI, J, Nが問題が短かったので、itokoiにIを読ませ、私はJを読みました。Jは明らかに後回し問題です。マクローリン展開で誤差が無視できる範囲になるまで近似するんだろうなーと察していったん捨てました。
itokoiにIの問題を教えてもらい、考察を始めました。テンプレートを書き終えたgandalにNを読ませたところすぐ解けたというので実装、AC。
N: gandal 0:11
itokoiはすでに別の問題を読み、gandalも他の問題を読み進めました。
その後、Iの考察ができた私が実装を始めたのですが、WA。ここでかなり時間を使ってしまったのは少し反省。itokoiがBを解けたというので実装するがWA。
Iが地雷だと思ったので、gandalが読んでいたなかで、順位表で解かれていたMをいったん聞きました。well-definedからかけ離れていたので誤読を疑って読み直させました。itokoiがBがわからないというので聞くと、N個の本から右端以外の1冊を右端に移動させるのをM回行うことで昇順に、とような問題だったので、N=2が例外で偶奇になることを伝え、実装してもらいました。AC。
B: itokoi 0:48
Mを再度聞くと、すぐにライブラリとして持ち込んだ永続AVLで解けることはわかりました。そして、fenwick treeで解けることがすぐわかりました。
itokoiが先にCが解けたようで、実装してもらったのですが、少しバグっているようで、先にMを実装してAC。Cのバグも見つかったようでAC。fenwick treeは昨年から私がソラで書くことにしています。
ちなみに、Cは他のチームはかなり苦戦していたようで、終了後、「Cどうやってそんなに早く解いたの?」と聞かれました。itokoiは「簡単だったので…」と言ってたので、My teammate said, "Because it was easy." と答えました。
M: shinchan 1:09
C: itokoi 1:10
その後Iのバグを見つけたので修正すると、AC。
I: shinchan 1:24
ちなみにこの時点で順位表では5位でした。
開始90分時点で6位だったようです。(ICPC APACのインスタより)

中盤
Gが解かれていたのでgandalから聞いて考えていたのですが、まぁ求めたいものは直径なのでいつも通りdfsを2回やってみました。2つの頂点を選ぶとき、それが相異なる必要があるかどうかが問題からはわからなかったため、clarを投げてみると、yesが返ってきました。提出結果はWAで、その後いろいろ試みてもWAでした。順位表を見て、Hをitokoiから聞き、Eをgandalから聞き、Gについてitokoiに反例を探ってもらいました。
Hは とかになってほんまか?となったのと、実装もしんどいのでいったん後回し。Eは本当にわからなかったので結局Gを考えました。そうこうしているとGの反例をitokoiを見つけてくれて、やっぱり座標を考慮して1つ目の頂点を決める必要があるなとなり、過去の薄い記憶からx, y, zの±の寄与を8通り試してみたところ、ACしました。もちろん未証明です。まぁ、他のチームがみんなノーペナで通してるのに我々だけ2ペナしてるのも変な話なので、どうせこれやろ、えいっの気持ちでした。
G: shinchan 3:05
終盤
itokoiがEの解法を生やして、納得しました。TLが少しきつそうなので私が実装することに。かなり実装がきつかったのですがなんとかサンプルが通り提出するもWA。HはTL的には大丈夫そうな解法が生えたのですが、MLEすることに気づきました。それに実装もやばいです。その後は時間もなかったのでとにかく3人でEを通しきることに徹したのですが、通りませんでした。
終了後
終わったあと、チームメイトが「5時間って短いですね」と言いました。これはかなりいい成長だと思いました。もう十分5時間コンテストに慣れていて、5時間集中しきったこと。そして、各々が自分のやることを自分で見つけ、最低1問通したこと。それだけで、今回挑戦して良かったと感じました。
コンテスト後はかなり自由だったのでttamxに私のチームのpcでEのコードを読んでもらったのですが、なぜWAなのかわかりませんでした。Hはshort型を乗せたfenwick treeでMLに耐えるといわれ、さすがに想定じゃないろ笑という気持ちになったが、そうでもして通さないとなという気持ちにもなった。ttamxのチームのコーチが実は阪大で博士を取ったようで、うちのコーチと日本語で話していました。
ttamxと話したのはそれが最後で、2027年のAPACが東京で開催される旨を伝えました。日本にまた行けることをとても喜んでいて、私もボランティアで参加しているだろうからまた会えるのを楽しみにしていると伝えました。
タイの高専の学生がいて、日本語で話しかけられました。Mの解法を教えてほしいというのでfenwick treeを使ったと教えました。また、驚くことに、APACの存在を知らないというのです。タイ国内のチームでもお金がかかるけど、単にRegionalに参加するのが目的なんだなーと思いました。その分タイ国内の参加チームも少ないですが。
その後はランチタイムです。明らかにアジアっぽくない顔をした3人のチームがいたので聞くと、エルサルバドル、ジョージア、アイスランドからタイへの留学生チームでした。タイのスタッフの方も交えて話しました。アイスランド人めっちゃイケメンだった。
アイスが配られ、ゆず、レモン、ヨーグルトの3種類があったのでヨーグルトにしました。Yuzuと書かれていてここにも日本語か、と。
チュラロンコンスゴクカタイアイス pic.twitter.com/PJGzw7PBx9
— shinchan (@Sophia_maki) 2025年11月2日
総評・表彰式
合間に、席が近かったベトナムチームのNEU.Anarchaosの3人と話しました。Codeforces上のタイの過去問に必ず現れる名前として認知してくれてました。
運営の想定難易度と順位がおおむね一致していて、内容もなかなかいいセットだったと思います。yes/noも終盤に入り、優勝争いはソウル大2チームの争いとなりました。一番の優勝候補のfloorsumをJust use CRTが不可能枠のAを通して抜いたときは会場の拍手がすごかったです。



https://icpc-chula.github.io/scoreboard-archive/2025/
15位でした。+1問でも順位変わらないですね… pic.twitter.com/mFiBQyDH4P
— shinchan (@Sophia_maki) 2025年11月2日
解散後
次の場所も決まってなかったのでその場にいたタイのチームとしゃべってました。「大きい荷物があってあまり歩けないんだけど3時間くらいつぶせる場所ないか」と聞くと大学に北にある大型ショッピングモール、サイアム・パラゴンを勧められて、そこに向かうことに。日本のものが多くて面白かったです。涼しかったし座れるところが多かったので休むのにちょうどよかったです。
honmonoに遭遇 pic.twitter.com/J00DHRShGl
— shinchan (@Sophia_maki) 2025年11月2日
空港に向かいました。ここでも日本語の店が多々ありました。


空いてたので中華に入り、水餃子を食べました。空港のごはんはやはり高いのですが、その分日本に近い味付けで食べやすかったです。

空港での待ち時間で、チームメイトから残りの問題を聞いて解いてみました。問題を一通り読み終えていてえらい。
Lを聞くと、一瞬で解法が生えてしまい、顔ない。
続いてFを聞くと、これも一瞬で解法が生えてしまい、顔ない。
ttamxから連絡がきて、Eのコーナーケース(実装によっては)を教えてもらいました。完全に理解しました。
自分で読んでいたJも考えてみました。式変形をすると解けました。顔ない。高専・工学部出身者がマクローリン展開に手を付けなくてどうするんだという気持ちになってしまった。
Dを聞きました。やりたいことはすぐわかるのですが…。と30分くらい考えてると解けました、顔ない。まぁDは実装に時間かかりそうなのでさすがに今のチームでコンテスト中に解けることはなさそうです。
Kはコンテスト中に聞いて解けないと確信していたので、インタラクティブであるAを聞きました。飛行機でも寝ながら考えたのですがダメでした。さすがにA, Kは運営の想定通り不可能枠です。
そんな感じで10時くらいに帰国、14時くらいに帰宅しました。
問題
ぜひ解いてみてください。(来週こどふぉのgymにuploadされるらしいです。) 不明瞭なところがあれば教えてください。解説は後日追記するかも。Nは読んでないです(一番簡単問題なので飛ばします)。A, K以外はたぶん解けた。ちなみに14問中5問は想定がセグ木です。
運営の想定難易度は、
簡単 : BN
普通 : CEGHILM
難しい : DFJ
不可能 : AK
だったのですが、私の体感はN<B<M<C=I<F<L<G=J<D<E<H<A<Kです。Kriz Wuは"N-B-M-G-L-I-E-C-H-D- A-K (F idk, but should be easier than D)"だそうです。
A
インタラクティブ。N(<=100)が与えられる。ジャッジが順列pをもっている。
こっちから順列qを与えると、長さNの数列s(最初すべて0)に対してi=1から順に以下を実行。
s_q_iが0なら、s_p_q_iを1にする。
結果のsが帰ってくる。400回でpを特定。
B
N<=105, M<=109が与えられる。
以下を満たすような長さNの辞書順最大の順列を出力。
順列の右端以外の要素を1つ選んで右端に移動。をちょうどM回繰り返すことで、昇順に並び変えることが可能。
C
問題文
abs(X) <= 200000が与えられる。1-2+3-4みたいな感じでプラスかマイナスを挟んでXを構築。長さが最小のものを出力。
D
問題文
また、長さN(<=500000)の数列Pも与えられる。
R(<=109)匹のモンスターを使ってゲームを行う。現在の体力がAi。体力が正のモンスターを選ぶ。i番目のモンスターを選ぶと、体力がP[A[i]]だけ減る。操作できないほうの負け。
後手は勝つために、最初にどれか1つのモンスターの体力をK減らす。
そのままだと先手が勝ち、操作によって後手が勝つようになるような数列A (0<=Ai <= N)の個数。
E
問題文
N<=100, M<=10000, Q<=100000が与えられ、N頂点M辺の有効グラフが与えられる。辺の形式はu, v, p, hである。hは重みで、pについては後述。
Q個のクエリが与えられる。
type1のクエリは、u, hが与えられるので、ある閾値であって、頂点uから、pが閾値以下であるような辺だけをたどっていくときの最遠点までの距離がh以下であるような最小のpを求める。
type2のクエリは、hだけが与えられるので、ある閾値であって、ある始点uが存在して、pが閾値以下であるような辺だけをたどっていくときの最遠点までの距離がh以下であるような最小の閾値を求めたとき、閾値の最小値とそれをなす最小のuを求める。
F
問題文
N<= 200000, W<=1018と、N個のアイテムvi(<=109), wi(<=1018)が与えられる。ただし、sum(wi)<=1018, w[i]>=w[i+1]
閾値を決めて、viが閾値より上かつ重みに余裕があれば入れるような貪欲ナップザックを行う。
価値を最大化するような閾値のうち、最小値。
G
問題文
辺重み付きの木と頂点それぞれの(3次元)座標が与えられる。2頂点選んだときの、(マンハッタン距離+パスの辺重み総和)の最大値。N<=200000。
H
問題文
TL4s。
長さN(<=50000)の数列A (Ai<=100000) が与えられる。狭義単調増加、さらに隣接する要素の差も狭義単調増加になるような長さが最大の部分列を1つ出力。
I
問題文
I, C, Pからなる文字列S(len(S)<=200000)から、できるだけ多くの独立な部分列ICPCを作る。
J
問題文
N<=200000と数列Aが与えられる。
\sum_{i < j} \sqrt{A_i + A_j}
K
問題文
R×C (<=109)の座標があり、(N, M)から右上に向かって撃つ。隅に行くまでに通った格子点の数。
テストケース数100000。
L
問題文
N, Q<=200000。A, B<=109
N個の座標(x, y)にciという値がある。(xi, yi <= 109、ci <= 1018)
Q個の座標(s, t) (s, t <= 109)が与えられるので、各クエリについて、
min_i (A abs(xi - s) + B abs(yi - t) + ci) を出力。
M
問題文
空の配列があって、i=1..Nに対して以下を行ったあとの配列が入力で与えられる(N<=200000)。
iを左端に追加。左からj番目までを右に持ってくる。
入力の配列になるような操作列(jの列)を求めよ。
感想
自分はこの半年間で本当にいろんな人にお世話になって、迷惑をかけたと思います。しかし、それでも譲れないものを通しきった自分を褒めたい想いです。競技プログラミングを続けてよかったと今なら思えます。
コンテストは結果だけ見れば、残念な結果でした。私が解ける問題はA, K, E, Hを除いた10問で、順位表に惑わされなければ9完は全然あったなと思いました。しかしそれは順位表マジックではなく、順位表と運営の想定難易度は一致していました。東南アジアの得意と僕の得意が違うのかなと思います。1人が強いチームというのはその人次第でチームの調子ががらっと変わってしまうため、今回のようなことはおそらく頻繁に起こると思います。キーボードもタイピングがかなり困難で、自分の強みである実装の精度をうまく活かすことができなかったのも1つの要因です。site scoreが低いことも、それらも含めて運命です。
海外Regionalに参加する人は、必ずマイノリティになるので、順位表を見て動くのではなく、いつも以上に順位表をかき乱す側にならなければならないと思いました。
内容を見れば、今回は十分成功だったと思います。約50日間の、チームメイトの成長をとても感じられる日々でした。itokoiは来年のCodeQUEENで優勝してくれることでしょう。優勝してください。



