AtCoder

ABC320 E - Somen Nagashi (Diff: 1096 緑) の解説 [AtCoder] [Python]

問題へのリンク https://atcoder.jp/contests/abc320/tasks/abc320_e 問題概要 先頭から順に1~Nの番号がついたN人が一列に並んでいる。これからM回そうめんが流される。 そうめん i は時刻 T_i に流され、量は W_iである。そうめん i が流されたとき、列の先…

ABC315 C - Flavors (Diff: 321 灰) の解説 [AtCoder][Python]

2023/8/21 解説を大幅に修正 問題へのリンク: https://atcoder.jp/contests/abc315/tasks/abc315_c 問題概要 Nカップのアイスがある。i番目のアイスの味は F_i, 美味しさは S_i (S_iは偶数)である。 この中から2つを選んで食べる。この時の満足度は次のよう…

ABC314 D - LOWER (Diff: 585 茶) の解説 [AtCoder][Python]

問題概要 小文字または大文字のアルファベットN文字から成る文字列Sがある。これからQ個の操作を行う。 操作ごとに(t_i, x_i, c_i)が与えられる。 t_i = 1の時、Sのx_i文字目をc_iに変更する。(c_iは大文字または小文字) t_i = 2の時、Sの文字を全て小文字に…

ABC310 D - Peaceful Teams (Diff: 1368 水) の解説 [AtCoder][Python]

なるほど、再帰DFSか…(今回私は解説ACです) 問題概要 N人をT個のチームに分けたい。しかし、その中には仲の悪いペアがM組存在し、人A[i]とB[i]は同じグループに入れてはいけない。チーム分けの方法は何通りか。 主な制約 1 ≦ T ≦ N ≦ 10 0 ≦ M ≦ N(N-1)/2 解…

ABC313 B - Who is Saikyo? (Diff: 213 灰) の解説 [AtCoder][Python]

問題へのリンク https://atcoder.jp/contests/abc313/tasks/abc313_b 問題概要 N人の中で、「A[i]はB[i]よりも強い」という関係がM個成り立つ。また、「推移律」(AはBより強く、BがCより強いとき、AはCよりも強いという関係)が成り立つ。 この時、どの人より…

ABC313 C - Approximate Equalization 2 (Diff: 681 茶) の解説 [AtCoder][Python]

問題へのリンク https://atcoder.jp/contests/abc313/tasks/abc313_c 問題概要 長さNの整数列Aがある。Aの要素から2つ選び、一方の要素には1を加え、もう一方の要素には1を引く動作を繰り返す。この時、Aの最小値と最大値の差が1になるようにするために必要…

ABC312 D - Count Bracket Sequences (Diff: 964 緑) の解説[AtCoder][Python]

問題へのリンク https://atcoder.jp/contests/abc312/tasks/abc312_d 問題概要 '('、')'、'?'の3つの文字からなる文字列Sが与えられる。 この時、'?'を'('または')'に置き換えて括弧列になるような置き換え方の個数を998244353で割った余りを出力せよ。 括弧…

ABC312 C - Invisible Hand (Diff:727 茶)の解説 [AtCoder][Python]

8/2: 修正、図の追加を行いました。 問題へのリンク https://atcoder.jp/contests/abc312/tasks/abc312_c 問題概要 りんご市場に N 人の売り手と M 人の買い手がいる。 i 番目の売り手は、A[i]円以上でならりんごを売ってもよいと考えている。i 番目の買い手…

ABC312 B - TaK Code (Diff:216 灰) の解説[AtCoder][Python]

最近AtCoderでよく見る、「実装の重いB問題」でしたね。 問題概要 9x9マスの領域で、左上と右下の3x3マスがそれぞれ黒('#')、その周りを囲う部分が白('.')になっているものをTaK Codeと呼ぶ。 縦Nマス、横Mマスのグリッドがある。そこに含まれる9x9マスの領…

ABC311 C - Find it! (Diff:448 茶) の解説 [AtCoder][Python]

問題へのリンク https://atcoder.jp/contests/abc311/tasks/abc311_c 問題概要 N頂点N辺の有向グラフがあり、i番目の頂点からはA[i]に伸びている。 この時、有向閉路を1つ求めよ。 入力例1 N = 7, A = [6, 7, 2, 1, 3, 4, 5] 画像:https://img.atcoder.jp/ab…

ABC307 D - Mismatched Parentheses (Diff:666 茶)の解説 [AtCoder][Python][C++]

問題へのリンク https://atcoder.jp/contests/abc307/tasks/abc307_d 問題概要 アルファベットと"("、")"から成るN文字の文字列Sが与えられる。 先頭が"("、最後が")"で囲まれ、中に"("、")"を含まない文字列を削除する動作を繰り返す。 例(入力例1) N=8, S=…