Codeforces,数学

問題方針

排他的論理和は \( 1 \oplus 1 = 0 \)、\( 0 \oplus 1 = 1 \) となるので、\( a, b \) の \( i \) ビット目を \( a_i, b_i \) とすると、\( a_i = 1 ...

Codeforces,尺取り法,貪欲法

問題方針

あまり理解していませんが、操作 1. で選ぶ文字は、同じ文字が連続する部分文字列のなかで一番左のものを選ぶみたいです。

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

Codeforces,整列

問題方針

配列 \( a \) の総和が \( 0 \) のときは条件を満たす \( b \) は存在しません。配列 \( a \) の総和を \( s \) とすると、\( s > 0 \) のとき、\( a \) を降順に並べ ...

Codeforces,動的計画法,累積和

問題

数字列 \( n \) の部分列を取り除いて得られる整数の総和と求めます。

方針部分列について

自然数 \( l \) を \( l = |n| \) とします。ここで、総和に対する \( i \) 文字目の整数 \( ...

Codeforces,動的計画法

問題方針

泥棒 \( i \) の座標は \(( a_i, b_i) \) であり、サーチライト \( j \) の座標は \( (c_j, d_j) \) です。 泥棒の座標を \( ( a_i + t, b_i) \) と移動したと ...

Codeforces,数え上げ,累積和,貪欲法

問題方針

AGC 023 A – Zero-Sum Ranges と似ている問題です。\( s \) を \( a \) の累積和として、

\

とします。また、\( s_0 = 0 \) です。ある部 ...

Codeforces,数学,貪欲法

問題方針

\( i \) 回目の操作後の数列の総和を \( s_i \)、数列の最大値を \( b_i \) とすると、

\

となるので、先にインクリメントしてからコピーする方が最適だと考えられます。ここで、イン ...

Codeforces,数学,整列

問題方針

自然数 \( a, b \) が

\

を満たすとき、\( 2^{i} \leq a, b \leq 2^{i+1} -1 \) を満たす \( i \) が存在します。これは同じビット数で表現できる数は ...

Codeforces,フェニック木

問題方針

バブルソートを行った回数を求めるために、フェニック木 (BIT) を使います。詳しくは下記の参考を参照してください。

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

Codeforces,動的計画法

問題方針

友人の行動は、ボスを倒すまたはボスをスキップすることができます。また、自分と友人は最低でも \( 1 \) 体のボスに対応しなければならなく、\( 1 \) 回のセッションで最大で \( 2 \) 体のボスを倒すことができます ...