yutasの競技プログラミング勉強帖

競技プログラミングの問題についての解説記事を主に書いています。

Div.3

F - Sum of Progression / Codeforces Round 920 (Div. 3)

Codeforces Round 920 (Div. 3) のF問題 (Sum of Progression) の解説記事です。

D - Very Different Array / Codeforces Round 920 (Div. 3)

Codeforces Round 920 (Div. 3) のD問題 (Very Different Array) の解説記事です。

C - Sending Messages / Codeforces Round 920 (Div. 3)

Codeforces Round 920 (Div. 3) のC問題 (Sending Messages) の解説記事です。

B - Arranging Cats / Codeforces Round 920 (Div. 3)

Codeforces Round 920 (Div. 3) のB問題 (Arranging Cats) の解説記事です。

A - Square / Codeforces Round 920 (Div. 3)

Codeforces Round 920 (Div. 3) のA問題 (Square) の解説記事です。

G - Unusual Entertainment / Codeforces Round 909 (Div. 3)

問題 頂点からなる木構造のグラフと、整数 が1個ずつランダムに入った順列 が与えられる。 ここで、グラフ内の頂点 の距離を とする。 組の整数 が与えられるので、そのそれぞれについて が成立するような が の中に含まれるか判定せよ。 入力 まず最初の1行…

F - Alex's whims / Codeforces Round 909 (Div. 3)

問題 木構造のグラフとは、 ループを含まない 頂点 辺のグラフのことを指す。 頂点の木構造のグラフに対して、 日間で整数 が1日ごとに与えられる。 また、グラフは1日1回までなら、以下の操作を行うことができる。 ある頂点 と、 に隣接している頂点 と隣接…

E - Queue Sort / Codeforces Round 909 (Div. 3)

問題 個の整数からなる数列 が与えられる。 この数列 に対して以下の操作を行う。 の最初の要素を最後に持ってくる。 その要素が、1つ前の要素より真に大きくなるまで前の要素と位置を入れ替える。 もし入れ替えを経て、その要素が再び先頭になった場合は操…

D - Yarik and Musical Notes / Codeforces Round 909 (Div. 3)

問題 個の整数からなる数列 が与えられる。 この数列の要素 に対し、 と定めるとき、 が成立するような整数 の組(ただし、 )の個数を求めよ。 入力 まず最初の1行目に、テストケースの個数を表す整数 が与えられる。 その後、 個のテストケースのそれぞれ…

C - Yarik and Array / Codeforces Round 909 (Div. 3)

問題 個の整数からなる数列 が与えられる。 数列 の連続部分列のうち、どの要素も隣接する数字の偶奇が異なるようなものについて、部分列内の要素の和の最大値を求めよ。 入力 まず最初の1行目に、テストケースの個数を表す整数 が与えられる。 その後、 個…

B - 250 Thousand Tons of TNT / Codeforces Round 909 (Div. 3)

問題 個の箱があり、 番目の箱は トンの重さである。 この 個の箱を 個ずつ順番に運び、トラックに積むことを考える。 すなわち、 最初の 個の箱を最初のトラックに積む。 次の 個の箱を2番目のトラックに積む。 最後の 個の箱を 番目のトラックに積む。 と…

A - Game with Integers / Codeforces Round 909 (Div. 3)

問題 最初に整数 が与えられる2人用のゲームがある。 片方の参加者のターンとして、「与えられた整数に対して を加える」か「 を減らすか」のいずれかの操作を行い、もう片方のターンにするということを繰り返す。 また、先手の勝利条件は「先手の操作直後に…

G - Replace With Product / Codeforces Round 895 (Div.3)

問題 個の正の整数からなる数列 がある。 この数列 に対して、以下の操作を必ず1回行わなければならない。 2つの整数 (ただし、)を選び、 を から までの積に置き換える。 すなわち、数列 は に置き換わる。 この操作を行った後の数列について、数列の和の…

F - Selling a Menagerie / Codeforces Round 895 (Div.3)

問題 あなたは から までの番号が付けられた 匹の動物の所有者である。 しかし、動物の維持費は高いので、全ての動物を売却することにした。 ここで、それぞれの動物は、ある特定の1匹の動物を非常に恐れていることが分かっている。 正確には、動物 は動物 …

E - Data Structures Fan / Codeforces Round 895 (Div.3)

問題 個の正の整数 からなる数列と、0 と 1 のみで構成された 文字の文字列 がある。 この整数列と文字列に対して、以下の2種類のクエリを用意する。 クエリ1: 1 l r (ただし、 ) であるすべての整数 に対し、 の 番目の数字を反転させる。 すなわち、 の…

D - Plus Minus Permutation / Codeforces Round 895 (Div.3)

問題 3つの整数が与えられる。 1からまでの整数が1個ずつ入った数列について、以下の値を数列 のスコアとして定める。 \begin{align} \left( p_{1 \cdot x} + p_{2 \cdot x} + \cdots + p_{ \lfloor \frac{n}{x} \rfloor \cdot x } \right) - \left( p_{1 \c…

C - Non-coprime Split / Codeforces Round 895 (Div.3)

問題 2つの整数が与えられる(ただし、)。 このに対して、以下の2式を同時に満たす正の整数の組が存在する場合はその一例を示し、存在しない場合は -1 を出力せよ。 入力 まず最初の1行目に、テストケースの個数を表す整数が与えられる。 その後行に渡り、2…

B - The Corridor or There and Back Again / Codeforces Round 895 (Div.3)

問題 一方向に無限に続く回廊があり、あなたは現在部屋1にいる。 あなたは部屋1から部屋に進み、再び部屋1に戻るということを行う。 ただし、隣接する部屋に移動するには1秒の時間が必要である。 この回廊には個のトラップが仕掛けられており、個目のトラッ…

A - Two Vessels / Codeforces Round 895 (Div.3)

問題 グラムの水が入った容器と、グラムの水が入った容器がある。 これら2つの容器はとても大きく、どんな量の水も入れることができる。 さらに、最大でグラムの水を入れることができる空の容器を持っている。 この空の容器で一方の水の入った容器からもう一…