C++ の動作確認をしてみた(626)

C++の練習を兼ねて, 第七回 アルゴリズム実技検定 の 問題H (折れ線グラフ) を解いてみた.

■感想.
1. 問題Hは, 方針が見えなかったので, 解説のdp更新式を参照し, AC版に到達できた.
2. 苦手な動的計画法の訓練を積めたので, 非常に良かったと思う.
3. 個人的には, 折れ線グラフの最短距離が, 動的計画法を使って求めることができるロジックが, 非常に興味深く感じた.
4. 引き続き, 時間を見つけて, 過去問の学習を進めていきたいと思う.

本家のサイト 第七回 アルゴリズム実技検定 の 各リンク を ご覧下さい.

■C++版プログラム(問題H/AC版).

■参照サイト
第七回 アルゴリズム実技検定

C++ の動作確認をしてみた(625)

C++の練習を兼ねて, 第七回 アルゴリズム実技検定 の 問題G (べき表現) を解いてみた.

■感想.
1. 問題Gは, 方針が見えなかったので, 解説の漸化式を参考の上, AC版に到達できた.
2. 個人的には, 深さ優先探索の訓練を積めたので, 理解を深めることが出来たと思う.
3. 解説にある漸化式を実装すると, 数列内に重複要素が出てこないことが, 非常に不思議な印象を受けた.
※ 解説を見る前は, 数列内の重複要素を排除する方法が分からなかったため.
4. 引き続き, 時間を見つけて, 過去問の学習を進めていきたいと思う.

本家のサイト 第七回 アルゴリズム実技検定 の 各リンク を ご覧下さい.

■C++版プログラム(問題G/AC版).

■参照サイト
第七回 アルゴリズム実技検定

C++ の動作確認をしてみた(624)

C++の練習を兼ねて, AtCoder Regular Contest 076 の 問題D (Built?) を解いてみた.

■感想.
1. 問題Dは, 方針が見えなかったので, 解説を参考に, AC版に到達できた.
2. 最小全域木(Kruskal’s Algorithm) の復習が出来たので, 非常に良かったと思う.
公式のライブラリを拝借させて頂いてます.
3. 引き続き, 時間を見つけて, 過去問の学習を進めていきたいと思う.

本家のサイト AtCoder Regular Contest 076 解説 を ご覧下さい.

■C++版プログラム(問題D/AC版).

■参照サイト
AtCoder Regular Contest 076
Union-Find木
競プロ典型 90 問 の 問題049

C++ の動作確認をしてみた(623)

C++の練習を兼ねて, AtCoder Beginner Contest 233 の 問題F (Swap and Sort) を解いてみた.

■感想.
1. 問題Fは, グラフを使う方針で, 規則性を抽出できたので, AC版に到達できたと思う.
2. 実装に苦労したものの, Union-Find木, および, 幅優先探索 の 復習 が出来たので, 非常に良かったと思う.
公式のライブラリを拝借させて頂いてます.
3. 引き続き, 時間を見つけて, 過去問の学習を進めていきたいと思う.

本家のサイト AtCoder Beginner Contest 233 解説 を ご覧下さい.

■C++版プログラム(問題F/AC版).

■参照サイト
AtCoder Beginner Contest 233
Union-Find木

C++ の動作確認をしてみた(622)

C++の練習を兼ねて, AtCoder Beginner Contest 233 の 問題E (Σ[k=0..10^100]floor(X/10^k)) を解いてみた.

■感想.
1. 問題Eは, 規則性を抽出できたので, AC版に到達できたと思う.
2. 個人的には, 文字列操作で, 数式の値を計算できる点が, 非常に面白いと感じた.
3. 引き続き, 時間を見つけて, 過去問の学習を進めていきたいと思う.

本家のサイト AtCoder Beginner Contest 233 解説 を ご覧下さい.

■C++版プログラム(問題E/AC版).

■参照サイト
AtCoder Beginner Contest 233

C++ の動作確認をしてみた(621)

C++の練習を兼ねて, AtCoder Beginner Contest 233 の 問題C (Product) ~ 問題D (Count Interval) を解いてみた.

■感想.
1. 問題Dは, 連想配列による実装を試みたが, AC版に届かなかったので, 解説を参考の上, 修正版にて, AC版に到達できた.
2. 問題Cで, 深さ優先探索の訓練を積めたので, 非常に良かったと思う.
3. 引き続き, 時間を見つけて, 過去問の学習を進めていきたいと思う.

本家のサイト AtCoder Beginner Contest 233 解説 を ご覧下さい.

■C++版プログラム(問題C/AC版).

■C++版プログラム(問題D/AC版).

■参照サイト
AtCoder Beginner Contest 233

C++ の動作確認をしてみた(620)

C++の練習を兼ねて, 第九回 アルゴリズム実技検定 の 問題L (嘘つきな生徒たち) を解いてみた.

■感想.
1. 問題Lは, LISを使う方針で実装してみたものの, ACに到達できず, 解説を参考に, 修正版にて, AC版に到達できた.
2. LIS(Longest increase subsequence) の 応用版(広義単調増加列 プラス 追加条件) を, 確認することができたので, 非常に良かったと思う.
3. 引き続き, 時間を見つけて, 過去問の学習を進めていきたいと思う.

本家のサイト 第九回 アルゴリズム実技検定 の 各リンク を ご覧下さい.

■C++版プログラム(問題L/AC版).

■参照サイト
第九回 アルゴリズム実技検定

C++ の動作確認をしてみた(619)

C++の練習を兼ねて, AtCoder Beginner Contest 234 の 問題E (Arithmetic Number) を解いてみた.

■感想.
1. 問題Eは, 規則性を見つけることが出来たので, AC版に到達できたと思う.
2. 等差数を, 抽出してところ, 意外と少なく(ここでは, 339個だった), 非常に面白い問題と感じた.
3. 引き続き, 時間を見つけて, 過去問の学習を進めていきたいと思う.

本家のサイト AtCoder Beginner Contest 234 解説 の 各リンク を ご覧下さい.

■C++版プログラム(問題E/AC版).

■参照サイト
AtCoder Beginner Contest 234

C++ の動作確認をしてみた(618)

C++の練習を兼ねて, AtCoder Beginner Contest 234 の 問題C (Happy New Year!) ~ 問題D (Prefix K-th Max) を解いてみた.

■感想.
1. 問題C, Dは, 規則性を見つけることが出来たので, AC版に到達できたと思う.
2. 引き続き, 時間を見つけて, 過去問の学習を進めていきたいと思う.

本家のサイト AtCoder Beginner Contest 234 解説 の 各リンク を ご覧下さい.

■C++版プログラム(問題C/AC版).

■C++版プログラム(問題D/AC版).

■参照サイト
AtCoder Beginner Contest 234

C++ の動作確認をしてみた(617)

C++の練習を兼ねて, AtCoder Regular Contest 093 の 問題E (Bichrome Spanning Tree) を解いてみた.

■感想.
1. 問題Eは, 方針が見えなかったので, 解説を参考に, AC版に到達できた.
2. 最小全域木(Kruskal’s Algorithm) の復習が出来たので, 非常に良かったと思う.
公式のライブラリを拝借させて頂いてます.
3. 引き続き, 時間を見つけて, 過去問の学習を進めていきたいと思う.

本家のサイト AtCoder Regular Contest 093 解説 を ご覧下さい.

■C++版プログラム(問題E/AC版).

■参照サイト
AtCoder Regular Contest 093
Union-Find木
競プロ典型 90 問 の 問題049