AtCoder に関するカテゴリーです。

AtCoder,全探索

問題方針

暗証番号について全探索して条件を満たすかどうかを調べます.

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

AtCoder,数え上げ

問題方針

整数 \( x, y \) について \( x -y \) が \( 200 \) の倍数であるとき,\( x \bmod 200 = y \bmod 200 \) が成立します.したがって,\( A_i \bmod 200 ...

AtCoder,文字列

問題方針

前半の文字と後半の文字をそれぞれ \( L, R \) とします.また,\( T_i = 2\) となる回数を数えて,偶奇によって操作を行う文字列を決定します.

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

AtCoder,数学

問題方針

原点と \( (X, Y) \) の距離を \( d \) とすると、\( d = \sqrt{X^2 + Y^2} \) であるので、\( d \) が自然数で \( d \bmod R = 0 \) であるとき、

AtCoder,幾何学

問題方針

\( N = 2n \) とします。点 \( p_0 \) と 点 \( p_{n} \) を結ぶ線は正 \( N \) 角形の重心である

\

を通ります。したがって、この重心を中心として点 \( p_ ...

AtCoder,ビット全探索

問題方針

長さ \( N \) の数列から得られる長さ \( 1 \) 以上の連続した部分数列は、\( 2^{N-1} \) 通りあるので、ビット全探索します。イメージとして、分割される位置をビット列で表し、その値を更新していけば良いで ...

AtCoder,全探索

問題方針

前半と後半の文字が同じ数字を考えるので、前半の部分について全探索します。

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

AtCoder,貪欲法

問題方針

価値が高い荷物からその大きさに最も近い箱に入れます。

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

AtCoder,数え上げ

問題方針

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

AtCoder,データ構造

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

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