数え上げに関するカテゴリーです。

AtCoder, 数え上げ

問題方針

エラトステネスの篩のような考え方で約数を数え上げます。

\( i \) の約数の個数 \( a(i)\) とすると、\( 1 \leq ij \leq 10^7 \) を満たす、\( 1 \leq i \leq 1 ...

数え上げ

問題方針

数列の要素の頻度を管理することで、各操作における偏差が計算できます。偏差が計算できれば、操作後の数列の総和を求められます。

コード

 

AtCoder, 数え上げ

問題方針

展望台 \( i \) が隣接している全ての展望台の中で一番高いかどうかという情報を求めます。これは、全ての道について、\( H(A_i) \) と \( H(B_i) \) という値を比較すれば十分です。

コード

...

AtCoder, 数え上げ, 数学

問題方針

\( n \) 個の自然数から任意の個数の和の組み合わせは、

\

となります。これは、最大値が \( n \) 個の和であるためです。ここで、関数 \( f(x) \) を

\

...

AtCoder, 数え上げ

問題方針

いわゆる頻度を数え上げる問題です。

コード

 

AtCoder, 数え上げ, 数学

方針方針

部屋 \( i \) にいる人の数を \( a_i \) とすると、

\

が成り立ちます。このとき、\( a_i \geq 0 \) を満たす整数解は、\( {}_{2n – 1} \mat ...

AtCoder, 数え上げ

問題方針

\( a(i, j) \) を先頭の数字が \( i \) で末尾が \( j \) である \( N \) 以下の正の整数の個数とします。これをもちいて、求める答えは、

\

となります。

コード ...

AtCoder, 数え上げ

問題方針

\( 1 \leq j  \leq i \) において、\( P_i \leq P_j \) が成り立つことを確認するには、\( P_j \) の最小値が条件を満たしているかどうかを調べれば良いです。よって、最小値を更新しなが ...

AtCoder, 数え上げ

問題方針

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

AtCoder, 数え上げ

問題方針

\( A_i < A_j \) を満たす \( (i, j) \ ( i < j ) \) の数を \( l_j \) とし、\( A_j < A_k \) を満たす \( (j, k) \ ( j < ...