AtCoder,数学

問題方針

自然数 \( x \) が \( 3 \) の倍数であるとき、各桁の和である数字和も \( 3 \) の倍数となります。\( i \) 桁目の数字を \( x_i \) とすると、消す可能性のある数字は、\( x_i \bmo ...

AtCoder,二分探索,整列,累積和,貪欲法

問題方針

\( H, W \) を昇順に並び替えても一般性は失われないので、昇順に並び替えます。例えば、\( 2n \) 人の児童の最適なペアは

\

であると考えられます。これを問題に当てはめて考えると、\( N ...

AtCoder,全探索,数学

問題方針

\( |S| \geq 3 \) のときを考えます。自然数 \( n \) が \( 8 \) の倍数である条件は、下 \( 3 \) 桁が \( 8 \) の倍数であることと同値なので、\( 3 \) 桁の \( 8 \) ...

AtCoder,全探索,数学

問題方針

点 \( A, B , C \) が順序を問わずに一直線上にある条件は、

\

を満たす \( t \) が存在することです。ここで、\( \overrightarrow{AB} = (x_1, y_1) ...

AtCoder,Union Find,数え上げ

問題方針

例えば、\( 1 \) 行目と \( 2 \) 行目が交換可能であり、\( 1 \) 行目と \( 3 \) 行目が交換可能であるとき、各 \( 1, 2, 3 \) 行の順番を任意に並び替えることができます。したがって列に対 ...

AtCoder,数え上げ

問題方針

\( K \geq 0 \) として考えます。\( a + b = K + c + d \)  を満たす \( a, b, c, d \) の組み合わせを考えます。\( 2 \leq a + b \leq 2N \w ...

AtCoder,数学

問題方針

与えられた式は、

\begin{eqnarray}
\sum_{a = 1}^{A}\sum_{b = 1}^{B}\sum_{c = 1}^{c}abc &=& \sum_{a = 1}^ ...

AtCoder,区間系,実装

問題方針

ある区間の集合を \( S \) として、\( i \) 番目の区間を \( S_i = \) とします。このとき、高橋君の点を \( T(S) \) とし、青木君の点数を \( A(S) \) とします。また、

AtCoder,Union Find

問題方針

連結されている頂点の集合は、任意の頂点 \( 2 \) 組に対して操作を行うことができます。これは、隣接している頂点を適切に選ぶことで達成できます。したがって、ある連結されている頂点の集合の \( a_i \) と \( b_ ...

AtCoder,全探索,数学

問題方針

指数の発散は早いので、\( A, B \) を全探索します。また、オーバーフローに注意します。

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