[AtCoder] ARC 106 A – 106
指数の発散は早いので、\( A, B \) を全探索します。また、オーバーフローに注意します。
コード#include <bits/stdc++.h>using namespace std;typedef long ...
[AtCoder] AGC 048 A – atcoder < S
\( S \) が ‘a’ だけの文字からなるとき、’atcoder’ \( < S\) とあることはありません。また、’atcoder’ R ...
[AtCoder] 三井住友信託銀行プログラミングコンテスト2019 E – Colorful Hats 2
\( A_1 \neq 0 \) のとき場合の数は \( 0 \) となります。ここで、\( d_i(j) \) を \( i \) 番目までの人を調べ終えた時、同じ帽子が \( j \) 個であるパターン数とします。初期値は ...
[AtCoder] ABC 180 E – Traveling Salesman among Aerial Cities
いわゆる巡回セールスマン問題というやつです。
\( g(i, j)\) を都市 \( i \) から都市 \( j \) に移動するときのコストとします。\( d(i, j) \) を訪れた都市の状態 \( i \ ...
[AtCoder] ABC 180 D – Takahashi Unevolved
カコモンジムに通うことを操作1、AtCoder ジムに通うことを操作2とします。
\( i \) 回目の操作を行ったときの高橋君の強さを \( X_i \) とします。操作1を行うと、\( X_{i + 1} = ...
[AtCoder] ABC 180 C – Cream puff
人数が \( N \) の約数であるとき平等に分けることができるので、約数の列挙を行います。 \( N \bmod x = 0 \) であるとき、\( x \) は \( N \) の約数となるので、\( 1 \leq x \ ...
[AtCoder] ARC 007 C – 節約生活
\( i \) から \( i + 1 \) 分が視聴できる状態をビットを用いて、\( i \) ビット目が \( 1 \) であるとします。そうでないときは \( 0 \) です。
与えられた文字列を、\( a_ ...
[AtCoder] ARC 006 C – 積み重ね
山 \( i \) に積まれている一番上の重さを \( v_i \) とします。初期値は、\( v_1 = w_1 \) です。段ボール \( j \) が全ての山に対して \( v_i < w_j \) を満たすとき、 ...
[AtCoder] ARC 105 B – MAX-=min
カードの置き換えは全ての \( X \) に対して行われるので、セットを用います。セットは順序付きなので、最小値 \( x \) と最大値 \( X \) の取得を高速にできます。このとき、セットから \( X ...
[AtCoder] HHKB プログラミングコンテスト 2020 E – Lamps
散らかっていないマス \( (i, j) \)に照明を置いたとき、水平方向を照らすマスの数を \( a(i, j) \) とし、垂直方向を照らすマスの数を \( b(i, j) \) とします。このとき、 ...