AtCoder,全探索,数学

問題方針

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

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

AtCoder,文字列,貪欲法

問題方針

\( S \) が ‘a’ だけの文字からなるとき、’atcoder’ \( < S\) とあることはありません。また、’atcoder’ R ...

AtCoder,数え上げ

問題方針

\( A_1 \neq 0 \) のとき場合の数は \( 0 \) となります。ここで、\( d_i(j) \) を \( i \) 番目までの人を調べ終えた時、同じ帽子が \( j \) 個であるパターン数とします。初期値は ...

AtCoder,bitDP,グラフ理論

問題方針

いわゆる巡回セールスマン問題というやつです。

\( g(i, j)\) を都市 \( i \) から都市 \( j \) に移動するときのコストとします。\( d(i, j) \) を訪れた都市の状態 \( i \ ...

AtCoder,実装,貪欲法

問題方針

カコモンジムに通うことを操作1、AtCoder ジムに通うことを操作2とします。

\( i \) 回目の操作を行ったときの高橋君の強さを \( X_i \) とします。操作1を行うと、\( X_{i + 1} = ...

AtCoder,全探索,数学

問題方針

人数が \( N \) の約数であるとき平等に分けることができるので、約数の列挙を行います。 \( N \bmod x = 0 \) であるとき、\( x \) は \( N \) の約数となるので、\( 1 \leq x \ ...

AtCoder,bitDP

問題方針

\( i \) から \( i + 1 \) 分が視聴できる状態をビットを用いて、\( i \) ビット目が \( 1 \) であるとします。そうでないときは \( 0 \) です。

与えられた文字列を、\( a_ ...

AtCoder,貪欲法

問題方針

山 \( i \) に積まれている一番上の重さを \( v_i \) とします。初期値は、\( v_1 = w_1 \) です。段ボール \( j \) が全ての山に対して \( v_i < w_j \) を満たすとき、 ...

AtCoder,数学

問題方針シミュレーション

カードの置き換えは全ての \( X \) に対して行われるので、セットを用います。セットは順序付きなので、最小値 \( x \) と最大値 \( X \) の取得を高速にできます。このとき、セットから \( X ...

AtCoder,Union Find,数え上げ

問題方針照らされるマスについて

散らかっていないマス \( (i, j) \)に照明を置いたとき、水平方向を照らすマスの数を \( a(i, j) \) とし、垂直方向を照らすマスの数を \( b(i, j) \) とします。このとき、 ...