ABC380 (2024/11/16)
https://atcoder.jp/contests/abc380/tasks
ABC 380 からルールの変更がありました.
新ルールについて(詳しくは https://atcoder.jp/posts/1347 を参照)
・生成AIにコードを生成させる場合、コーディング速度の上昇のみを目的とした補完のみが許可されます。問題やその部分問題を解かせたり、アイデアを得たりする用途に使用してはいけません。
・各言語への翻訳や、他プログラミング言語への翻訳などは、ルール中で指定されたフォーマットでのみ許可されます。
〇A問題
まーす.iconN に含まれる 1 の数, N に含まれる 2 の数, N に含まれる 3 の数を数え挙げる.
まーす.icon茶に降格......
CarpDay.icon (´;ω;`)ウゥゥ
tako.icon プログラミング言語を作ってみたので使ってみる。当然AtCoderでは使えないのでパーサーも一緒に投げる
Kaplam.icon横浜ではUS式キーボードしか使えないということで今回からUS式で、2日使ってある程度は慣れたけどまだちょっと無意識下で考えて押してる所あるのよくない
kakip.iconCounter
CarpDay.iconkakip.iconさんとおなじくCounter
〇B問題
まーす.iconS[i] == "|"のときとそうでないときで場合分け.S[i] != "|"のときは,cnt += 1.S[i] == "|"のときは,A.append(cnt)して,cntをリセット.
tako.icon こっちも作った奴を使う。文字列のi番目を取得することができなかったのでコンテスト中に実装した。
Kaplam.iconまーす.iconさんと多分同じ
kakip.iconsplit('|')してlen
CarpDay.iconkakip.iconさんとおなじ.最初と最後の要素を外す
〇C問題
まーす.icon問題文長い.発想は簡単だけど,こういう問題はflag管理が面倒.1ペナルティはpypyで提出したから.
tako.icon こっからpython。0の塊リスト、1の塊リストを作成。K-1個めの1の塊が来たらK個めの1の塊と次の0の塊を出力する
Kaplam.iconk-1個目のかたまりまでを出力して、k個目のかたまりを出力して、1回目の出力の続きから2回目のを飛ばすようにして出力する、ここ3回連続でC問題でテンパっててよくない
kakip.iconmore_itertoolsのrun_length
CarpDay.iconk番目の直前の0ブロックの開始位置をstart0,k番目の1ブロックの開始位置をstart1,終了位置をend1として,S[:start0] + S[start1:end1+1] + S[start0:start1] + S[end1+1:].k番目の1ブロックが最後まで続く場合に注意.
〇D問題
tako.icon l = 0, r = Ci以上の最小の2の累乗にしてCiを二分探索。右に行くなら大文字小文字を逆転させる。
まーす.iconS : 入力文字列, T : S を反転させた文字列とする.このとき,問題文の操作を行ったときの文字列はSTTSTSST...のようになるから,この文字列をbitと見立てる(Sだったら0, Tだったら1).(K[i] - 1) // len(S)の参照している文字列がSなのかTなのかを判別する部分で,考え漏れしていてコンテスト後20分後にAC.おしい.
Kaplam.icon2^nを引いて反転回数求めて~って感じ
kakip.icon(k - 1) // len(S)のbit_countの偶奇で判定
CarpDay.iconKaplam.iconさんと同じっぽい.bit_countの偶奇かぁ..気付かなかった.
〇E問題
Kaplam.icon1回同じ色になったかたまりは違うグループになることはないのでSortedSetで今出来ている同じ色のかたまりの左側と右側を管理して、二分探索で各回のスタート地点を含むかたまりがどこからどこまで続いているのかを求めて個数計算してって感じ、WAは最初少し違う実装しようとしててその名残が残ってた、ここ5回のパフォ水水茶水水なんだけどABC378なかったことにならない?
CarpDay.icon久しぶりにUnionFind自作ライブラリを利用.max,min対応版.各マスの根の色と色の個数を管理.色を変えるときに,max,minで両隣をチェックして,同じ色ならマージ.D問題に手間取ったせいで,時間内間に合わず.
〇F問題
kakip.iconメモ化再帰で実装したけどTLE出たので、例の翻訳プロンプト使うも結果変わらず。そもそもWA1で無理
〇G問題
#AtCoder #ABC