2019-04-01から1ヶ月間の記事一覧

Codeforces Round #556 (Div. 2) - B. Tiling Challenge

問題概要 Problem - B - Codeforces5つの正方形からなる十字型を n * nからなる四角形内の空いている箇所に当てはめたとき 四角形の空きが全て埋まるとき、YES、埋まらないときはNOを出力せよ。 解法 上の段から、下に向かって十字型が埋まるか貪欲に見れば…

ABC 123 D - Cake 123

問題概要 D - Cake 123 X 種類、Y 種類、Z 種類の3つの種類に重みがついている。 3種類の組み合わせで重みの合計が高い順にK個出力せよ。 解法(解説AC) X, Y, Zをソートしておき、 Priority Queueへ最も高い重みの合計を放り込んでおく。 最も高い重みのi, j…

Codeforces Round #555 (Div. 3) - B. Long Number

問題概要 Problem - B - Codeforces 1から9までのn桁からなる数値を1から9までの各桁に対応したMAPに置き換えることができる。 1から9までのn桁からなる数値から特定の範囲を抜き出して置き換えた際に最大となる数値を答えよ。 ただし、特定の範囲は1度しか…

ABC 125 D - Flipping Signs

問題概要 D - Flipping SignsN個の数列Aに対して、任意(i 数列Bを作成する。作成したsum(数列B)が最大となる値を答えよ。 解法(解説AC) 正負判定を行い、負の値が偶数個の場合全て正の値にすることが可能。 負の数が奇数個の場合、任意の値を1つだけ負の値に…

ABC 125 C - GCD on Blackboard

問題概要 C - GCD on Blackboard N個の数列Ai, Ai+1, Ai+2...のうち、任意の1つのみの数値を0~10^9の任意の値に 置きかえた際に数列全体の最大公約数として考えられる最大値を求めよ 解法(解説AC) けんちょんさんの記事を参考にした。 AtCoder ABC 125 C - …