AtCoder,整列,貪欲法

問題方針

ロボット \( i \) は、区間 \(  (X_i – L_i, X_i + L_i) \) に存在しています。\( X_i + L_i \) について昇順に並び替え、先頭から順番に配置していきます。

AOJ,整列,貪欲法

問題方針

ジョイントの使う順番は給料に影響を与えないので、ジョイントを使うときは最大のものから使うべきです。したがって、ジョイントを降順に並べ、全探索を行います。ジョイントを使う度にパイプの本数が減る一方で、ジョイント分の長さが加算され ...

yukicoder,探索,深さ優先探索

問題方針

全探索を行って和了しているかを調べます。また、七対子は特殊な形なので、\( 7 \) 種類の対子があるのかを調べます。他の手は、\( 4 \) 面子 \( 1 \) 雀頭の形をしているかをチェックすれば良いので、まず初めに雀頭 ...

AtCoder,数え上げ

問題方針

配列 \( A \) の順序は影響しないので、昇順に並び替えます。\( {}_{N} \mathrm{ C }_{K} \) 個の組み合わせの中で、最大値と最小値を求めます。最小値の総和を \( f_1 \) とし、最大値の総 ...

AtCoder,グラフ理論,幅優先探索,探索

問題方針

良くある迷路の探索のアルゴリズムを使って、全探索を行います。ここでは、全ての道となっているマスから幅優先探索を行い、到達可能なマスの最短距離を求めます。

コード#include <bits/stdc++.h>usi ...

AtCoder,実装

問題方針

\( i \) 番目の問題を正解したかどうかという情報と \( i \) 番目の問題を初めて正解するまでに “WA” となった個数を数えれば良いです。これは、配列で管理することができます。

コード ...

AtCoder,数学

問題方針式の変形

整数を考えるうえで、\( X = a_k (p + 0.5) \) という式の \( 0.5 \) という部分は考えにくいので、式の変形を行います。\( a_k \) は偶数なので自然数 \( b_k,\) を用いて、 ...

AtCoder,実装

問題方針

順列の生成を行えば良いので、next_permutuation を使います。

コード#include <bits/stdc++.h>using namespace std;typedef long long ll; ...

AOJ,セグメント木,データ構造

問題方針

点数が更新されたとき、その時点で最も高い得点を持つチームの番号が分かればよいので、セグメント木を使います。クエリは全区間を対象とするので、根の値が最も高い得点を持つチームの番号となります。

コード#include < ...

AOJ,セグメント木,データ構造

問題方針

平方分割でこの問題を解いたことがありますが、セグメント木を使って解きました。

コード#include <bits/stdc++.h>using namespace std;typedef long long ll; ...