2023-08-01から1ヶ月間の記事一覧

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で割った余りを出力せよ。 括弧…