足跡-sokuseki-

りかの日進月歩の記録

Codeforces

Codeforces Round #540 Div.3 F1: Tree Cutting (Easy Version)

Problem - F1 - Codeforces 問題概要 頂点からなる木が与えられ、各頂点は赤・青のどちらかで塗られているか、何も塗られていないかのいずれかである。木の辺を 1 つだけ取り除き、同じ連結成分内には色が高々 1 種類まで登場するようにしたい。これを達成で…

Codeforces Round 498(Div.3) E. Military Problem

Problem - E - Codeforces 問題概要 頂点の根付き木が与えられる。根は1である。 ある頂点が命令を与えられると、自分の子のうちまだ命令が与えられていない1つの頂点(複数あれば頂点番号が最も小さい頂点)に命令を与える。命令が葉まで伝搬すると、自分の…

Codeforces Round 498(Div.3) D. Two Strings Swaps

Problem - D - Codeforces 問題概要 長さ の2つの文字列a,bが与えられる。文字列はともに小文字のアルファベットから構成される。 はじめに、好きな回数だけ以下の置換操作を行うことができる。 となる を一つ選び、 を任意のアルファベットに置換する その…

Codeforces Round 498(Div.3) C. Three Parts of the Array

Problem - C - Codeforces 問題概要 長さ の数列dが与えられる。 この数列dをA,B,Cの3つの連続する区間に分割する。(長さ0の区間が存在しても良い)Aの長さをa、Aの要素の総和をsum1とする。 同様に、Bの長さをb、Bの要素の総和をsum2、Cの長さをc、Cの要素…

Codeforces Round 498(Div.3) B. Polycarp's Practice

Problem - B - Codeforces 問題概要 長さ の数列Aを 個の連続した区間に分割する。 分割後の各区間の最大値の合計を最大化せよ。 解法 数列Aの要素の大きい方から 個が、それぞれの区間の最大値となった時が答えである。 よって、そうなるように分割すれば良…

Codeforces Round 498(Div.3) A Adjacent Replacements

Problem - A - Codeforces 問題概要 長さ の数列Aが与えられる。 次の操作を順番に行う。 数列Aに出現するを全てに置き換える 数列Aに出現するを全てに置き換える 数列Aに出現するを全てに置き換える 数列Aに出現するを全てに置き換える 数列Aに出現するを全…