[Codeforces] Codeforces Round #672 (Div. 2) B. Rock and Lever
自然数 \( a, b \) が
\
を満たすとき、\( 2^{i} \leq a, b \leq 2^{i+1} -1 \) を満たす \( i \) が存在します。これは同じビット数で表現できる数は ...
[Codeforces] Codeforces Round #672 (Div. 2) A. Cubes Sorting
バブルソートを行った回数を求めるために、フェニック木 (BIT) を使います。詳しくは下記の参考を参照してください。
コード#include <bits/stdc++.h>using namespace std;t ...
[Codeforces] Educational Codeforces Round 95 (Div. 2) C. Mortal Kombat Tower
友人の行動は、ボスを倒すまたはボスをスキップすることができます。また、自分と友人は最低でも \( 1 \) 体のボスに対応しなければならなく、\( 1 \) 回のセッションで最大で \( 2 \) 体のボスを倒すことができます ...
[Codeforces] Codeforces Round #670 (Div. 2) B. Maximum Product
\( n \) 個の整数 \( a \) が与えられ、
\
の最大値を答えます。添え字に制約がありますが、この問題は \( a \) から任意に \( 5 \) 個の整数を選ぶことができます。したがって ...
[Codeforces] Codeforces Round #669 (Div. 2) C. Chocolate Bunny
剰余の単調増加性を利用して解きます。自然数 \( x, y \) を用いて \( x \bmod y \) と \( y \bmod x \) を考えます。また、\( x \neq y \) とします。
\ ...
[Codeforces] Codeforces Round #669 (Div. 2) B. Big Vova
配列 \( a \) を入れ替えて得られる配列を \( b \) とします。ここで、\( g(a, b) \) を \( a, b \) の最大公約数とします。次に配列 \( c \) の \( i \) 番目の要素を ...
[Codeforces] Codeforces Round #669 (Div. 2) A. Ahahahahahahahaha
配列 \( a \) から並びを変えずに \( \dfrac{n}{2} \) 個以上要素を選んだ配列を \( b \) としたとき、\( b \) が \( b \) の奇数番目の和と偶数番目の和が等しくなるようにします。
[Codeforces] Codeforces Round #667 (Div. 3) D. Decrease the Sum of Digits
イメージとしては下位の桁の数字を \( 0 \) にしていくためのコストから計算していきます。
自然数 \( n \) の桁和を \( f(n) \) とします。自然数 \( n, s \) が与えられたとき、
[Codeforces] Codeforces Round #667 (Div. 3) C. Yet Another Array Restoration
数列 \( a_n \) は等差数列なので、初項を \( a \)、公差を \( d \) とすると、\( a_n = a_1 + (n – 1)d\) となります。したがって、\( i < j \) とし、 ...
[Codeforces] Codeforces Round #667 (Div. 3) B. Minimum Product
自然数 \( t, u \ (t \leq u)\) とし、\( f(t, u) = tu \) を考えます。
\
が成り立つので、\( t \) を減少させた方が \( f(t, u) \) が小さく ...