ABC353 (2024/05/11)
〇A問題
まーす.iconfor文で先頭H[0]と比較していく.
Kaplam.iconやるだけ
tako.icon 適当
kakip.icon誤読して時間ロス
おたふく.icon 先頭と比較
CarpDay.icon for else構文に感謝
yuichang.iconやる
〇B問題
Kaplam.iconつめこむ
まーす.iconfor文でcurにA[i]ずつ加えていくのだが,cur + A[i] > Kとなれば,ansに1を加えてcurを0に更新.
tako.icon 愚直。問題がわかりづらかった
kakip.icon仰せのままに
おたふく.icon whileでアトラクションの座席が足りなくなると空にする。
CarpDay.icon 皆さんと同じ
yuichang.iconシミュレーション
〇C問題
Kaplam.iconにぶたんで探してどうたら
tako.icon にぶたんで10**8を超えないやつを探す。どうでもいいミスが目立つ
まーす.iconにぶたんと累積和.2つの整数における加法は可換なので,順序は考えなくてよい(sortを行ってよい).
kakip.iconにぶたん
おたふく.icon 2項の和なので10^8で割った余りを求める必要がなく、10^8を超える項数分だけ110^8を引けばいいことに気付くのが遅く間に合わず。
CarpDay.icon 皆さんと同じ.二分探索で探す値が存在するとき,返り値と未満/以下/以上の関係がいつも混乱して,ちょっと苦手意識ある. bisect_left が「未満」,bisect_right が「以下」 φ(..)メモメモ
yuichang.icon 累積にぶたん
〇D問題
Kaplam.icon数学やりにきたんじゃないんだが(´・ω・`) 追記:待ってCと同じで毎回modかけるのと勘違いしてたんだけどlol
tako.icon 累積和*10**桁数+なんたら
まーす.icon個人的にはCよりも簡単.桁ごとにdictで保存して,今見てるA[i]の桁だけずらして加算.
kakip.icon桁数ごとの個数の累積和
おたふく.icon f(x, y)のyにあたる桁数の逆累積和と、yにあたる値の逆累積和を利用する
CarpDay.icon累積和と暫定解を更新.解説見たら,MMNMMさんの別解と同じでした.
yuichang.icon難しい。こんなの人間が解けるんですか、、解説見て納得
〇E問題
kakip.iconソートして隣接する文字列の最長共通接頭辞のリストを作って、そこからスタックで計算CarpDay.icon水色復帰おめでとう!
tako.icon ぜんぜんわからん。追記:解説見て解きました。こんなデータ構造があるのか
まーす.icon今回Σ計算多くておもろい.
CarpDay.icon 再帰でCPython提出でTLE.dequeで作り直してPyPyでTLE.少し枝刈りするがTLEから抜け出せず.C++なら通るんだろうな,とぼやきながらF問題へ.終了後,dequeにリストを入れるより文字列を入れた方が速いと信じていたけど,試しに素直にリストを入れたらAC (x x).うーん.解説見たら,多分 ngtkanaさんの別解と同じっぽい.
CarpDay.iconこのデータ構造(Trie木,Prefix Tree)シンプルに作れるし,おもしろい.辞書 in 辞書.
〇F問題
kakip.iconやりたくない問題
kakip.icon解説見て意外とシンプルに書けた
CarpDay.iconX・Y方向別々に考えて,Kのdivmod考えれば意外にシンプルじゃない?と考えて実装するも,考えもれに気付く.無念.
〇G問題
kakip.icon10分足りなかった、両端から距離の分のコストを加味したセグツリーを2本作って最大値を記録・更新 G問題にしては簡単
CarpDay.icon上のコメント見て問題見る.最大値乗せてもうまくいかないが,対処法わからず解説読む.その発想がコンテスト中にできるのはすごいな.確かに実装は割と簡単.