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

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

AOJ

AOJ 1462 Remodeling the Dungeon 2 (ICPC アジア 2024 H) (6D)

ICPC 本番に正解チームの現れなかった難問! 問題へのリンク 問題概要 サイズのグリッドグラフから、いくつかの頂点と辺を削除してできる連結なグラフが与えられる。 このグラフの全域木であって、どの 2 つの葉も、その間の距離が偶数であるものを 1 つ求め…

AOJ 3022 Cluster Network (AUPC 2017 day2-J) (4D)

Block-Cut 木を試すのにすごくいい問題! 問題へのリンク 問題概要 頂点数 、辺数 の連結な無向グラフが与えられる(単純とは限らない)。頂点 には、重み がついている。各頂点について、以下の問に答えよ。 【問】 その頂点を除外したグラフを考える。この…

AOJ 1459 E-Circuit Is Now on Sale! (ICPC アジア 2024 E) (1Q)

これは比較的易しめだった。探索するだけ! 問題へのリンク 問題概要 下図のように「計算過程」を表す二次元グリッドが与えられる。文字 . 以外の文字は木をなしていて、葉には数値がかかれている。演算子 +、-、*、/ はそれぞれ「大きい方から小さい方に演…

AOJ 1458 Tree Generators (ICPC アジア 2024 D) (4D)

すごく悩んだけど、なんとか解けた! 問題へのリンク(仮) 問題概要 次の図のように、木を、文字 (、)、1 からなる文字列で表す(異なる木が同じ文字列になることもある)。文字列の生成規則は次のように表される。 E ::= ‘1’ | ‘(’ E E ‘)’ 詳細は問題文を…

AOJ 1457 Omnes Viae Yokohamam Ducunt? (ICPC アジア 2024 C)

面白かった! 一見 MST の問題に見えるけど、主客転倒すると Dijkstra だった。 問題へのリンク(仮) 問題概要 頂点数 、辺数 の連結な単純無向グラフが与えられる。頂点 には重み がついていて、辺 には重み がついている。このグラフの全域木のコストを次…

AOJ 1456 The Sparsest Number in Between (ICPC アジア 2024 B)

これ面白かった! ABC-E で出題されて水色 Diff などがあり得そうな雰囲気。 問題へのリンク(仮) 問題概要 正の整数 が与えられる。 以上 以下の整数のうち、popcount が最小のものを求めよ。複数ある場合は、そのうちの最小の整数を求めよ。 制約 考えた…

AOJ 1455 Ribbon on the Christmas Present (ICPC アジア 2024 A)

制約的に でも通るが、スタックを用いて でも解ける! 問題へのリンク(仮) 問題概要 マスからなるマス目があり、最初各マスには 0 が書かれている。このマス目に対して、以下の操作を行う。 正の整数値 と、連続するいくつかのマスを選ぶ(ただし、どのマ…

JOI 予選 2010 C - パーティー (AOJ 0545) (4Q, 難易度 4)

グラフの基本問題! 問題へのリンク 問題概要 の人 がいる。 組の友達関係があって、 組目の友達は人 と である。 人 1 の友達と、人 1 の友達の友達に相当する人 (人 1 を除く) が何人いるかを答えよ。 制約 解法 この問題はグラフの練習問題といえる。グラ…

JOI 予選 2010 B - すごろく (AOJ 0544) (6Q, 難易度 3)

すごろくを題材にした問題。すごろくの各マスには「oo マス進む」などの指示がある。これを上手に管理しよう。 問題へのリンク 問題概要 マス からなる双六が与えられる。マス 1 がスタート、マス 以上がゴールである。 回サイコロを振って、 回目には目 だ…

JOI 二次予選 2020 A - ポスター (AOJ 0672) (4Q, 難易度 4)

ちょっと重たい全探索問題 問題へのリンク 問題概要 の形に配列された二次元文字列 が与えられる。 に対して、次の操作を繰り返すことで に一致させたい。 反時計回りに 90 度回転する (コスト 1) 時計回りに 90 度回転する (コスト 1) 1 マス選んで文字を変…

JOIG 本選 2022 A - ピアノコンクール (AOJ 0729) (7Q, 難易度 2)

for 文の練習! 問題へのリンク 問題概要 個の整数 のうち、最大値と最小値を除外した 個の整数の総和を求めよ。 制約 個の整数はすべて互いに相異なる 解法 まず 個の整数を「配列」として受け取りましょう (C++ では vector<int> 型など)。 その後、配列に対し</int>…

JOI 二次予選 2022 A - 図書館 2 (AOJ 0719) (4Q, 難易度 2)

スタックを用いたシミュレーション問題! 問題へのリンク 問題概要 最初、本は積まれていない。次の 回のクエリに答えよ 【クエリ】 各クエリでは文字列 が与えられる。 が "READ" ではないとき、タイトルが である本が新たに上に積まれる が "READ" である…

JOI 一次予選 2025 第 1 回 D - どら焼き (7Q, 難易度 2)

多重 for 文の練習! 問題へのリンク 問題概要 2 つの数列 、 が与えられる。数列 からそれぞれ 1 個ずつ選んでできる 個のペアについて 「その和」と「その最大値」の積 を求めて、それらの総和を求めよ。 制約 考えたこと 2 つの数列からそれぞれ要素をと…

JOI 一次予選 2025 第 1 回 C - OIJ (7Q, 難易度 2)

for 文と if 文の練習! 問題へのリンク 問題概要 文字 J, O, I からなる長さ の文字列 が与えられる。 この文字列において、J を O に、O を I に、I を J に置換した文字列を答えよ。 解法 for 文を用いることで、 の各文字にアクセスすることができる。左…

JOI 一次予選 2025 第 1 回 B - 散歩 (8Q, 難易度 1)

ちょっとした算数的な考え方が必要になる問題 問題へのリンク 問題概要 JOI 君は以下の行動を行動 A → 行動 B → 行動 A → ⋯ のように交互に繰り返す。 行動 A:3m 前に進む 行動 B:2m 後ろに戻る 行動を合わせて 回行うとき、何m進むか? 解法 このような問…

JOI 一次予選 2025 第 1 回 A - 鉛筆 2 (9Q, 難易度 1)

とても易しい算数の問題! 問題へのリンク 問題概要 円もっている。 1 個 5 円の鉛筆を何本買えるか? 解法 答えは「 を 5 で割った商」となります。これは C++ では A / 5 と書けます。 コード #include <bits/stdc++.h> using namespace std; int main() { int A; cin >> </bits/stdc++.h>…

JOI 予選 2009 F - ビンゴ (AOJ 0537) (1D, 難易度 7)

一見すると計算量が厳しい問題にも見える。ちょっとした発想の転換が必要になる。 問題へのリンク 問題概要 正の整数 が与えられる。次の条件を満たす 個の整数 の組が何個あるかを 100000 で割った値を求めよ。 制約 [tex 1 \le N \le 7] 考えたこと 安直に…

JOI 二次予選 2023 C - 塗りつぶし (AOJ 0749) (1D, 難易度 7)

ちょっと実装が重たい。 問題へのリンク 問題概要 グリッドが与えられる。最初、どのマスにもなんらかの色(整数値)がついている。 マス から辺で接しているマスへの移動を繰り返し、マス と色が異なるマスに入ることなく移動できるマスの集まりを、マス の…

JOI 二次予選 2023 B - ジョイ四人組 (AOJ 0748) (2Q, 難易度 5)

「最大値と最小値の差」を最小化せよと言われたら、最大値または最小値を固定すると上手くいくことが多い! 問題へのリンク 問題概要 サイズが であるような 4 つの数列 が与えられる。 これらの数列から 1 個ずつ要素を選んで とする。 の値の最小値を求め…

JOIG 2024 B - ダンス (4Q, 難易度 4)

ちゃんと証明しようとすると、結構大変! 問題へのリンク 問題概要 人の生徒がいて、生徒 の身長は である。 これらの生徒を 2 人ずつ 組に分けて、どの組も身長差が 以下となるようにしたい。 そのようなことが可能かどうかを判定せよ。 制約 考えたこと こ…

JOI 予選 2009 E - シャッフル (AOJ 0536) (2D, 難易度 8)

シミュレーションと呼ばれるジャンルの中では、最も重たい部類の問題 問題へのリンク 問題概要 1 から までの整数の書かれたカードがこの順に並んでいる。このカード列に以下の 回の操作を行う。 回目の操作は、整数 ()によって表される。操作前のカードの…

JOI 予選 2009 D - 薄氷渡り (AOJ 0535) (2Q, 難易度 5)

再帰関数を使った全探索の練習! こういうのは本当に練習になる。 問題へのリンク 問題概要 各マスが 0 または 1 であるような の二次元グリッド が与えられる。 グリッド上の各マスを渡り歩いていく移動経路のうち、次の条件を満たすものを考える。 1 回の…

JOI 予選 2009 B - コンテスト (AOJ 0533) (6Q, 難易度 2)

ソートの練習問題 問題へのリンク 問題概要 20 個の整数が与えられる。 前半 10 個の整数のうち、大きい順に 3 個の整数の総和 後半 10 個の整数のうち、大きい順に 3 個の整数の総和 をそれぞれ求めよ。 解法 前半ができれば後半も同様なので、前半を考えま…

JOI 予選 2019 C - マルバツスタンプ (AOJ 0654) (4Q, 難易度 3)

文字列を左から見ていき、隣接する 2 文字が異なる箇所を見つけるやいなや、マルバツスタンプを使う、という Greedy でよい! 問題へのリンク 問題概要 マルスタンプ、バツスタンプ、マルバツスタンプの 3 種類がある。 マルスタンプを使うと、文字 'O' を印…

JOI 予選 2019 B - すごろくと駒 (AOJ 0653) (6Q, 難易度 2)

シミュレーションを冷静に実装しよう! 問題へのリンク 問題概要 マス があって、マス 1 はスタート、マス 2019 はゴールである。 個のコマがあり、それぞれ 番目にマスに置かれている。 次の 回の操作を実行する。 回目の操作ではコマ を動かそうとする も…

JOI 予選 2019 A - ソーシャルゲーム (AOJ 0652) (6Q, 難易度 2)

結構頭がこんがらがる問題だと思う。 問題へのリンク 問題概要 あるソーシャルゲームでは、1 日につき 1 回までログインすることができ、ログインするたびに 枚のコインが得られる。 さらに、月曜日から日曜日まで 7 日連続でログインすると、そのたびに、追…

JOI 予選 2017 A - 電子レンジ (AOJ 0630) (8Q, 難易度 1)

算数的な問題。頭がごっちゃになりやすいので頑張って求めよう。 問題へのリンク 問題概要 一般に、0 ℃ 未満の肉は凍っていて、0 ℃ の肉は凍っていることと凍っていないことがありえて、0 ℃ より温度の高い肉は凍っていない。また、 凍っている肉を 1 ℃ 温め…

JOI 予選 2016 A - 科目選択 (AOJ 0619) (9Q, 難易度 1)

関数 max() や min() を扱う練習! 問題へのリンク 問題概要 物理、化学、生物、地学、歴史、地理のテストで 点を得た。 物理、化学、生物、地学から 3 科目 歴史、地理から 1 科目 を選択したときの総得点の最大値を求めよ。 制約 考えたこと 結局、「物理…

JOI 予選 2015 A - 水道料金 (AOJ 0608) (8Q, 難易度 1)

価格系の問題! 問題へのリンク 問題概要 水道を リットル使用する。X 社と Y 社の料金体系は次のようになっている。 X 社:1 リットルあたり 円かかる Y 社:基本料金は 円であり、使用料が リットルを超えると 1 リットル超えるごとに 円かかる どちらを選…

JOI 予選 2014 A - 平均点 (AOJ 0592) (9Q, 難易度 1)

これは易しめの問題 問題へのリンク 問題概要 太郎君、次郎君、三郎君、四郎君、花子さんの 5 人がテストを受けた。テストの得点は 点であった。 これらの得点について、40 点未満だったら 40 点にした状態での平均点を求めよ。 考えたこと に対して、40 点…