けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

易しい計算量改善

AtCoder ABC 067 C - Splitting Pile (5Q, 茶色, 300 点)

計算量の意識が必要になる良問! 問題へのリンク 問題概要 個の整数からなる数列 が与えられる。これを左右に 2 つに分ける(左右ともに 1 個以上はとる)。 左側の要素の総和を 、右側の要素の総和を とするとき、 の最小値を求めよ。 制約 考えたこと もし…

AtCoder ABC 385 C - Illuminate Buildings (2Q, 茶色, 350 点)

全探索思考に慣れてさえいれば、 の解法ならすぐに思いつく。少し工夫して、 の解法になる! 問題へのリンク 問題概要 長さ の数列 が与えられる。数列 の部分数列 であって が等差数列である である という条件を満たすものを考える。それらの数列の最大長…

AtCoder ABC 373 C - Max Ai+Bj (5Q, 灰色, 250 点)

計算量改善のことを本当に知らないと、TLE に悩むかもしれない。 問題へのリンク 問題概要 長さ の 2 つの数列 、 が与えられる。 1 以上 以下の整数 を選んで、 の最大値を求めよ。 制約 考えたこと 最も素直に考えると、次のように二重 for 文を用いて解き…

AtCoder ABC 047 C - 一次元リバーシ (ARC 063 C) (4Q, 茶色, 300 点)

綺麗な言葉で条件を言い換えよう! 問題へのリンク 問題概要 一列に白色碁石と黒色碁石が合計 個並んでいる。 左右のいずれかに白色碁石と黒色碁石を置いていく。このとき、オセロのルールに基づいて石の色がひっくり返る。 すべての色を同色にするのに必要…

AtCoder ABC 346 C - Σ (5Q, 灰色, 250 点)

set を使おう! 問題へのリンク 問題概要 長さ の整数列 と、正の整数 が与えられる。 以上 以下の整数のうち、数列 に一度も含まれないものについての総和を求めよ。 制約 考えたこと まず、 となる。 この値から「1 以上 以下の整数のうち、数列 に一度以…

AtCoder ABC 368 C - Triple Attack (4Q, 灰色, 300 点)

完全な愚直シミュレーションでは通らなくて、割り算で繰り返し回数を求める系の問題! 問題へのリンク 問題概要 体の敵を順に倒す。 体目の敵の HP は である。 あなたは に初期化された変数 を管理している。敵を攻撃するとき、次のようにする。 を 1 増や…

AtCoder ABC 085 C - Otoshidama (5Q, 茶色, 300 点)

古き良き、ABS にも入れた代表的問題。 問題へのリンク 問題概要 10000 円、5000 円、1000 円が合計 枚ある。 このとき、これらの合計金額が 円になることがありうるかどうかを判定し、ありうるならばそれを 1 つ答えよ。 制約 解法 次の記事に解法を書いて…

鉄則本 A05 - Three Cards (5Q, ★2)

計算時間の意識が必要になる問題! 鉄則本の問題なのでメモ程度に。 問題へのリンク 問題概要 赤・青・白の 3 枚のカードがあり、それぞれに 1 以上 以下の整数を書き込む。 3 枚のカードの数の合計を にする書き方は何通りあるか? 制約 メモ 赤・青・白の…

JOI 二次予選 2023 A - 年齢の差 (AOJ 0747) (5Q, 難易度 3)

シンプルながらも、学べるポイントがたくさんある問題ですね 問題へのリンク 公式解説へのリンク 問題概要 JOI 市には から までの番号が付けられた 人の住民がいて、住民 () の年齢は 歳です。 JOI 市の住民の年齢 ​ が与えられます。 に対して、住民 と他…