ABC375 (2024/10/12)
https://atcoder.jp/contests/abc375/tasks
〇A問題
Kaplam.icon画面違うと思ったら始まる前に参加登録し忘れててビビった_(:3」∠)_
tako.icon 適当に回す
まーす.iconS[i] == "#" and S[i+1] == "." and S[i+2] == "#"を満たすときをカウント.
CarpDay.icon開始15分前から急な腹痛.5分前に治るも心配なので unrated.S[i:i+3] == "#.#をチェック.print(input().count("#.#")ではダメでした..
yuichang.icon 言語二刀流したくてPython使ったけどC++で書く方が絶対早い
kakip.iconinput().replace('#', '##').count('#.#')
〇B問題
Kaplam.iconやるだけ
tako.icon なんかジャッジが遅かった気がする
まーす.iconやるだけ.最後に原点に戻ってくることを忘れていてタイムロス.
CarpDay.iconB問題から始めたけど,ジャッジ遅かったよね.解説見て,hypot(x, y)初めて知った.次から使う.
yuichang.icon やる
〇C問題
Kaplam.icon問題文がすごくわかりにくいけど1回目は全体を90°回す、2回目は外側1枚以外を90°回すってやってるだけだからmod4で何度回すか決める
tako.icon よくわからん
まーす.icon愚直に,上下左右の$ N - 2 \cdot i - 1文字($ iは端から何文字離れてるかを表し,外周を$ i = 0とする)を$ i + 1回だけ,回転させる.入力データを下手にいじったせいで,正しい答えが出てたのにエラーのあるプログラムだと誤判したので悔しい.絶対時間内に解けたわこの問題.台パンしていいっすか?-
CarpDay.iconおっけ~(^^)/
CarpDay.iconKaplam.iconのいう通り.問題タイトルのおかげで理解できた.
yuichang.icon 厳しい
〇D問題
tako.icon jを固定するやつ
Kaplam.icon文字毎に一番左を0としてそれを1文字目として使う回文の個数求めてスライドして~みたいな
まーす.icon良問.手書きでシミュレーションをした結果,$ - {}_{n}C_2 + \sum_{i = 1}^{n} (2 \cdot i - n - 1) \cdot c_i .ここで,数列$ \{ c_i \}は文字cが何文字目に現れるかを表す単調増加列で,$ nは文字cが何回現れるかを表す.この計算を各文字でやる.
CarpDay.icon両端固定派.文字が登場した回数,および登場indexの合計を保存して計算に利用する.
yuichang.icon よくあるj固定
〇E問題
Kaplam.icon方針立たなかった( ˘ω˘)
CarpDay.iconunratedだったので,遊び心でPuLPで実装するも,なぜか2WA.F問題先に済ませて戻るも時間切れ.終了後,yuichang.iconさんが解けていたのでコードをチラ見したらあの方法だったので,自分でも一から実装.投稿するもまた2WA.なんでだろう?
CarpDay.icon解決.合計が3で割れても,割当不可能なケースを見落としていました.PuLPでも解けた!
yuichang.icondp i番目まで見てチーム1の強さがj、チーム2の強さがkの時の元のチームと等しい場所に配属した人の数
Yuto.icon 人から色への有向辺を張って,フローで解けないかな?と思ってnetworkx使ってやろうとしたけど, networkx.max_flow_min_cost() が Returns a maximum (s, t)-flow of minimum cost なので無理だった.Returns a min cost of max-flowだと解けるはずなんだけどなぁ...
https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.flow.max_flow_min_cost.html
〇F問題
CarpDay.icon禁断(?)のクエリ先読みを使って,全ての通行止めが実施された状態を初期状態として,逆順に通行止めを解除する.初期状態でワーシャルフロイド法で各点間の距離を求めておいて,通行止め解除された道を使ったら時間短縮するか全二点間で確認する.ratedにしていたら,レート上がったのに...(大抵そんなもの)
〇G問題
#AtCoder #ABC