[yukicoder] No. 1220 yukipoker
全ての手札の組み合わせは \( {}_{NM} \mathrm{ C }_{K} \) 通りありますが、確率を比較するうえでは必要ありません。フラッシュの総数は、同一のソートから \( {}_{N} \mathrm{ C }_ ...
[AtCoder] ABC 176 E – Bomber
行と列はそれぞれ独立に選ぶことができることに注目します。 \( i \) 行目にある爆弾の個数を \( R(i) \) とし、\( j \) 列目にある爆弾の個数を \( C(j) \) とします。マス \( (i, j ...
[AtCoder] ABC 166 E – This Message Will Self-Destruct in 5s
配列の添え字を \( i, j (i < j) \) とすると、
\begin{eqnarray}
j – i &=& A_i + A_j \\
i + A_i & ...
[AtCoder] エイシング プログラミング コンテスト 2020 C – XYZ Triplets
\( 1 \leq x, y, z \leq \sqrt{N} \) の範囲で全探索します。
コード#include <bits/stdc++.h>using namespace std;typedef long ...
[AtCoder] ABC 172 D – Sum of Divisors
エラトステネスの篩のような考え方で約数を数え上げます。
\( i \) の約数の個数 \( a(i)\) とすると、\( 1 \leq ij \leq 10^7 \) を満たす、\( 1 \leq i \leq 1 ...
[AtCoder] ABC 171 D – Replacing
数列の要素の頻度を管理することで、各操作における偏差が計算できます。偏差が計算できれば、操作後の数列の総和を求められます。
コード#include <bits/stdc++.h>using namespace st ...
[AtCoder] ABC 166 C – Peaks
展望台 \( i \) が隣接している全ての展望台の中で一番高いかどうかという情報を求めます。これは、全ての道について、\( H(A_i) \) と \( H(B_i) \) という値を比較すれば十分です。
コード#in ...
[AtCoder] ABC 163 D – Sum of Large Numbers
\( n \) 個の自然数から任意の個数の和の組み合わせは、
\
となります。これは、最大値が \( n \) 個の和であるためです。ここで、関数 \( f(x) \) を
\
...
[AtCoder] ABC 163 C – management
いわゆる頻度を数え上げる問題です。
コード#include <bits/stdc++.h>using namespace std;typedef long long ll;int main() { int N; c ...
[AtCoder] ABC 156 E – Roaming
部屋 \( i \) にいる人の数を \( a_i \) とすると、
\
が成り立ちます。このとき、\( a_i \geq 0 \) を満たす整数解は、\( {}_{2n – 1} \mat ...