プログラミング備忘録

日頃のプログラミングの成果をここに書いていきます.

2018-12-01から1ヶ月間の記事一覧

D - トランプ挿入ソート

問題 D - トランプ挿入ソート 感想 最長増加部分列むずい..... 考え方 どの要素を取り出してもよくて,それからどこに挿入してもよいということなので,取り出さなくてよい数(組)はどのようなものなのかを考えると良い。 要素を取り出して挿入するというこ…

D - サプリメント 〜ABC017〜

問題 D: サプリメント - AtCoder Beginner Contest 017 | AtCoder 考え方 動的計画法を用いる。 AtCoder Beginner Contest 017 解説 の言葉で言う,「dpで足せる区間」を求める際に自分はlatest[i] = jを使った(i というサプリメントが直近で一番最初に出て…

D - 語呂合わせ 〜ABC031〜

問題 D - 語呂合わせ 考え方 深さ優先探索でぐるぐる回す。n の数だけクエリがあるが,これを全部足し合わせて一つの文字列 sum_v, sum_w について深さ優先探索をすると楽に解ける。 計算量が気になったが,各語呂合わせの文字の制約で3文字以下に収まるとい…

C - 高橋くんのバグ探し 〜ABC015〜

問題 C - 高橋くんのバグ探し Accepted Program #include <iostream> #include <vector> using namespace std; int dp[5][5]; int main () { int n, m; cin >> n >> m; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cin >> dp[i][j]; } } vector<int> ans; for (in</int></vector></iostream>…

C - 友達の友達 〜ABC016〜

問題 C - 友達の友達 考え方 制約条件が難しくないので割と簡単です。例えば,以下のようにして解くことができます。 ある人Aとして,Aが友達Bを見て友達Bをチェックしておく( set などで)→その友達Bの友達Cを見る→ Cがset に入っていない友達だったら,A…

C - 菱型カウント 〜ABC021〜

問題 C - 菱型カウント 感想 やるだけではあると思うのですが,実装が重いのでめんどくさかったです。 こういう問題苦手。自分はプログラミングが向いてないなと実感する問題ですね笑..... 考え (i, j) 点に関して全探索をする。そして,上下左右に Kの幅を…