AtCoder,数え上げ

問題方針

コンマの数が \( i \) 個となる数字 \( x \) の範囲は、\( 10^{3i} \leq x \leq 10^{3i + 3} – 1 \) なのでこの範囲を \( i \) を全探索すれば良いです。

AtCoder,データ構造

問題方針セットとマップによる値の管理

まず初めに、セットに \( 1 \) から \( M \) までの値を入れます。次に、先頭から \( M \) 個までの \( M \) 未満の値の頻度をマップで管理します。このとき現れた値をセット ...

AtCoder,数学

問題方針確率 \( p \) が起こるまでの期待値

確率 \( p \) が起こるまでの期待値を \( E \) とします。\( i \) 回目に初めて確率 \( p \) が起こるときの確率は \( (1-p)^{i – ...

AtCoder,データ構造

問題方針

各要素同士の差の \( 2 \) 乗の和を求めるために、\( A_i \) の頻度を数えます。

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

AtCoder,ダイクストラ法

問題方針

都市 \( X \) から都市 \( i \) へたどり着いたときの最短時間を \( d_i \) とします。初期値は、\( d_X = 0, d_i = \infty \ (i \neq X) \) とします。 また、鉄道が ...

AtCoder,数学

問題方針

高橋君がカード \( i \) を引いて、青木君がカード \( j \) を引く確率を考えます。高橋君と青木が持っているカード \( i \) の枚数をそれぞれ \( s_i , \ t_i\) とします。

\( i = ...

AtCoder,数学

問題方針

愚直に \( a^b \) で表される数字を数え上げます。\( b \geq 2 \) より、\( 2 \leq a \leq \sqrt{N} \) の範囲で計算すれば良いです。\( a \) を固定したとき、\( a^b ...

AtCoder,二分探索

問題方針

\( n \) 進数で表現された \( X \) の値を \( f_n(X) \) とします。\( |X| = 1 \) のとき、\( f_n(X) = X \) であることに注意します。以降では、\( |X| \leq 2 ...

AtCoder

問題方針

シミュレーションします。

コード#include <bits/stdc++.h>using namespace std;typedef long long ll;ll func(ll x) { vector< ...

AtCoder,数学,精度誤差

問題方針

整数 \( a \) を用いて、直線 \( x = a \) と円の交点を \( (a, b_1) , (a, b_2) \ (b_1 \leq b_2)\) とします。このときの格子点の数は、

\

と ...