ABC367 (2024/08/17)
〇A問題
tako.icon Aにしてはちょいむずかなと思ったら150点だった。
Kaplam.icon<= n <=と<= n+24 <=と,多分エアコンのつけすぎで風邪ひきました_(:3」∠)
tako.iconお大事に
Kaplam.iconありがとうございます...
CarpDay.icon結構この手のタイプでWA出すこと多いので,ドキドキして提出した.150点,知ってたので警戒してた.
まーす.icon(B <= C and B <= A <= C) or (C <= B and (A <= C or B <= A))であれば,No.
kakip.iconb > c ならaとcに24足す
〇B問題
tako.icon スタック使うとやりやすい
Kaplam.icon後ろが0とか.とかだったらとるだけ
CarpDay.iconKaplam.iconさんと同じ方針で1linerでした!
まーす.iconXをflaotで入力.X == int(X)ならば,int(X)を出力.それ以外はXを出力.
kakip.iconrstrip
〇C問題
tako.icon dfsっぽい感じに全探索。よく考えたらdfsでは全くないが作った関数名がdfsになってるからdfsです
Kaplam.icon全部求めてからソートしようと思ったけどpythonくんだとTLE引きそうな気がしたからちゃんと再帰で最初から辞書順に
CarpDay.icon全探索.1~Rの最大値までの大きさNの直積をitertools.productで作って,Ri以下に限定して合計求めて,Kで割り切れるなら表示.
まーす.iconwhileで愚直に全探索.
kakip.iconproductとsum
〇D問題
tako.icon MODで種類の累積和してずらしていく感じに
Kaplam.icon地点nから1に行く所を通ると厄介なので超える時と超えない時でそれぞれmodで分けてにぶたん*n*2回,一時期にぶたん全然使わなかったのに最近多い→想定解にぶたんじゃなかった(´・ω・`)
CarpDay.iconユーザー解説の1つ目は,二分探索でしたよ~
Kaplam.iconあっほんとですね、私がやったのと同じでした
CarpDay.icon2周分のリスト作って,MOD付き累積和.同じ値のグループに1つdeque作って,1周以内の離れ具合になるようにdequeを管理して,dequeの大きさ分合計する.
まーす.iconむっちゃグダった.入力例3が解決できず,コンテスト終了......
まーす.icon朝にやったら解けた.休憩所$ 1 から休憩所$ i (i = 2, 3, ..., N) に行くのにかかる時間をMで割った余りをdictでカウントして,そこから重複分を除くためと$ s > t として,休憩所$ s から休憩所$ t の分を考慮するために,2つの累積和を用いた.方針としては,depue は用いていないが,CarpDay.iconさんの考え方が一番近い.
CarpDay.iconユーザー解説の2つ目,めっちゃ賢いので要チェック!
kakip.iconmodと累積和、きれいにかけたけど1行消し忘れてペナ
〇E問題
tako.icon ダブリングかなと思ったがよくわからないしダブリング勉強不足だし
Kaplam.icon遷移してループ箇所見つけてmodとってって作ってたけどTLEケースに気付いて、今日しんどかったので早めにやめといた
CarpDay.icon知識ゲー.ダブリングの典型でした.典型なのにもたついてしまい残念.
〇F問題
kakip.icon「多重集合 ローリングハッシュ」で検索して、AIパワーでごり押し
tako.icon 足し算と掛け算と排他的論理和と論理和と論理積のセグ木で全部あってたらYesのごり押し。想定解法では絶対ないが通ったからよし。C++勉強しといてよかったぜ
CarpDay.iconセグ木のごり押しは考えたけど,合計・最大・最小だけだと反例が容易に見つかって,そんな方法じゃないよなぁ..と思ったけど,それで通るとは!やるな!!kakip.iconさんの伏字見るのはもう少し我慢して考えます.
CarpDay.icon諦めて伏字確認.AIパワー使うも分からず解説を読んで理解.乱数使う方法に慣れていないので,今後使えるように慣れておきたい.
〇G問題