ABC346 (2024/03/23)
見ずらいので,問題番号の上は1行空白を開けてください
〇A問題
まーす.iconfor文で愚直にappend.
Kaplam.icon普通に
tako.icon 適当
CarpDay.iconおたふく.icon まーす.iconさんと同じ
yuichang.iconやる
kakip.icon2行
〇B問題
まーす.icon"wbwbwwbwbwbw"を1000回繰り返した文字列をあらかじめ作っておいて,先頭からwの数とbの数が問題の条件を満たすか否かで判断.Cの方が圧倒的に簡単.
Kaplam.icon与えられた文字列を20個ぐらい繋げて全探索
tako.icon難しく考えすぎた
CarpDay.icon 数学的に解けそう,と色気出したのが間違い.Kaplam.iconさんと同じく20個つなげた文字列からW+Bの長さ分スライスして条件に合うか確認.Counterの仕様を熟知しておらず,丁寧に条件記したのが仇となり,W=0やB=0のケースでWA.WA4つもあったので,コーナーケースだと思わず,根本的な間違いがあると判断してC問題へ.C問題のあとに戻ってW=0の入力例作ったら間違っていたので,ようやくコーナーケースに気付く.
CarpDay.icon Counterは要素がない値をキーにしても,KeyErrorにはならず,0を返します! 知ってると便利!
yuichang.icon 適当に作って愚直
kakip.icon鍵盤を100倍して20回まわす
おたふく.icon 上限を考えて無限の長さの鍵盤を有限の長さに落とし込む。
〇C問題
まーす.iconsum_A = Aに属する元の内K以下の元の総和として,print(K * (K + 1) // 2 - sum_A).
Kaplam.icon全部足したやつから出現したものを引く、最近やたらCがはやい
tako.icon以下同文
CarpDay.icon まーす.iconさんと同じ.確かにBより簡単.
yuichang.icon 等差数列の和から引く
kakip.icon制約ちゃんとみてなくてTLE
おたふく.icon 余事象。
まーす.iconどうでもいいことですが,一般に”余事象”は確率論や統計の議論で定義される言葉で,恐らくこの問題の議論では集合論での議論なので"補集合"と記す方が適切なのでは?まぁ,伝わればいいんですけどね…
〇D問題
Kaplam.icon今までに一致してるものがあったかと1個前で入れ替えをしたかの情報を持ったdp、場合分けすごくしんどかったです_(:3」∠)_
tako.icon 累積和
まーす.iconただ一つっていう条件がむずい.最小化を求める問題だから,DPを使いそうだけど,いまいち指針が立たない.
CarpDay.icon 調べた文字の位置,最後の数,ここまでで隣同士で一致する箇所があったか,という3次元配列を使ったDPで解いたけど,Kaplam.iconさんと同じく場合分けが面倒でした.累積和?ほぉぉお!なるほど!!
yuichang.icon 同じにする箇所を1or0で全探索。前もって奇数番目を0or1,偶数番目を0or1にするコストを累積でもっておく 真面目に100行書いた、tako.iconさんと同じっぽい
kakip.icon1次元リスト4つ作った
おたふく.icon CarpDay.iconさんと恐らく同様。
〇E問題
Kaplam.icon後ろから見て何か所更新されるかを見て残った所は0,Kaplam.iconさんと一緒。
tako.icon多分Kaplam.iconさんと一緒。ペナ多いのよくない
CarpDay.icon多分Kaplam.iconさんと一緒.色数を辞書で管理していて,0の個数を算出するときにvalues()をkeys()としてしまうミスで1WA.そんなミスしてサンプル通るのが不思議.
yuichang.iconおたふく.icon Kaplam.iconさんと一緒。5完きもち~
kakip.iconKaplam.iconさんと一緒。
〇F問題
CarpDay.icon多分二分探索だろうと踏んで,Sの中に各文字が何個あるのかカウントした情報を作って実装進めたが,Sの途中までで必要数見つかったときに,Sの途中から次の文字の数をカウントする必要があることに気付く.Sの各文字が何番目に存在するかを管理する辞書を作って実装するが時間切れ.そろそろkakip.iconさんに抜かれたかな?抜かれました~!!
CarpDay.icon 翌日実装してAC.むっちゃ時間かかった.最初と最後の端処理をするのに,2つだけ連結させて考える方法,他にもいろいろ使えそう.
kakip.iconできそう→実装むずい
〇G問題
まーす.iconD,E,Fの指針が立ちそうになかったので,一応Gも考えていた.この問題もただ一つっていう条件がある問題.どうしてもO(N^2)かかるんだよな......解説をざっと見たが,これは解けないわ...….
CarpDay.icon 分からないから解説見た.難しそうだったけど,tako.iconさん大好き遅延セグ木を使う問題だったので,頑張って理解&実装する.6ケースWAに苦しむもケアレスミスを発見してAC.良い練習問題でした.
tako.icon解説見ながら解きました。が、解説の言っていることがいまいち理解できていません。。。あと答えが常に1足りなくなりました。