[AtCoder] ABC 166 E – This Message Will Self-Destruct in 5s
配列の添え字を \( i, j (i < j) \) とすると、
\begin{eqnarray}
j – i &=& A_i + A_j \\
i + A_i & ...
[AtCoder] ABC 160 E – Red and Green Apples
赤色、緑色、無色のリンゴの美味しさを降順に並び替え、その累積和をそれぞれ、\( P, Q, R \) とします。また、\( i \) 個のリンゴの累積和を \( P(i) \) のように表します。次に、無色のリンゴを \ ...
[AtCoder] ABC 090 D – Remainder Reminder
このとき、\( N \) 以下の全ての正の整数の組 \( (a, b)\) が条件を満たすので、\( N^2 \) が答えとなります。
\( K \neq 0 \) のとき任意の整数 ...
[AtCoder] ABC 158 E – Divisible Substring
大まかな方針は、下の問題と同じです。
\( P = 2 \) または \( P = 5 \) のとき\( S = s_N s_{N-1} \cdots s_1 \) とします。
このとき、\( s_i ...
[AtCoder] ABC 164 D – Multiple of 2019
\( 12114 \) は \( 12114 = 2019 \times 6 \) なので \( 2019 \) の倍数です。次に、\( 1211472\) という文字列を考えると、\( 12114 \) という文字列があるの ...
[AtCoder] エイシング プログラミング コンテスト 2020 D – Anything Goes to Zero
ビットカウント
アルゴリズムについては上記のサイトを参考にしました。
int count_bits(int n) { n=(n&0x55555555)+(n>>1& ...
[AtCoder] エイシング プログラミング コンテスト 2020 C – XYZ Triplets
\( 1 \leq x, y, z \leq \sqrt{N} \) の範囲で全探索します。
コード#include <bits/stdc++.h>using namespace std;typedef long ...
[AtCoder] ABC 171 E – Red Scarf
排他的論理和 xor を \( \oplus \) で表現します。\( i \) 番目のスカーフの番号を \( b_i \) とすると、
\
ここで、\( a_i \) の排他的論理和を考えます。
[AtCoder] ABC 173 D – Chat in a Circle
証明をしないとダメだと思いますが、貪欲法で考えます。\( 2 \) 人目以降の到着で心地よさが増えることと、心地よさの増分は一人分だけであることを考慮して、その時々で心地よさを最大化します。まず初めに、配列を降順に並び替え、\ ...
[AtCoder] ABC 173 C – H and V
各行と各列に対して、色を塗るかどうかを考えればよいので、ビット全探索を行います。
コード#include <bits/stdc++.h>using namespace std;typedef long long l ...