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

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

Codeforces

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

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

E - Eat the Chip / Codeforces Round 920 (Div. 3)

Codeforces Round 920 (Div. 3) のE問題 (Eat the Chip) の解説記事です。

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) の解説記事です。

E - Increasing Subsequences / Educational Codeforces Round 161 (Rated for Div. 2)

Educational Codeforces Round 161 (Rated for Div. 2) のE問題 (Increasing Subsequences) の解説記事です。

D - Berserk Monsters / Educational Codeforces Round 161 (Rated for Div. 2)

Educational Codeforces Round 161 (Rated for Div. 2) のD問題 (Berserk Monsters) の解説記事です。

C - Closest Cities / Educational Codeforces Round 161 (Rated for Div. 2)

Educational Codeforces Round 161 (Rated for Div. 2) のC問題 (Closest Cities) の解説記事です。

B - Forming Triangles / Educational Codeforces Round 161 (Rated for Div. 2)

Educational Codeforces Round 161 (Rated for Div. 2) のB問題 (Forming Triangles) の解説記事です。

A - Tricky Template / Educational Codeforces Round 161 (Rated for Div. 2)

Educational Codeforces Round 161 (Rated for Div. 2) のA問題 (Tricky Template) の解説記事です。

G - Bicycles / Codeforces Round 918 (Div. 4)

問題 個の町があり、これらの町の間には 本の道路があり、道路 は町 と町 を結び、その長さは である。 また、どの町にも必ず自転車が1台売られており、町 での自転車の速度指標は である。 ここで速度指標とは、その自転車を使用することにより掛かる時間の…

F - Greetings / Codeforces Round 918 (Div. 4)

問題 人の人が数直線上に並んでおり、 番目の人は点 におり、点 へと動こうとしている。 ただし、どの人にとっても であり、また始点と終点の座標はすべて異なるものとする。 (すなわち、 個の整数 はすべて異なる。) すべての人が同時に動き始め、1秒あた…

E - Romantic Glasses / Codeforces Round 918 (Div. 4)

問題 個のグラスが1列に並んでおり、 番目のグラスにはジュースが 単位だけ入っている。 このグラスの連続する一部分を選択し、奇数番目のグラスに入ったジュースの量の合計と偶数番目のグラスに入ったジュースの量の合計を等しくできるか判定せよ。 すなわ…

D - Unnatural Language Processing / Codeforces Round 918 (Div. 4)

問題 a, b, c, d, e の5種類の文字を使った新しい言語を考える。 これらの文字は以下の2種類のタイプに分けられる。 タイプ V : a と e が該当する タイプ C : b と c と d が該当する この言語では、CV もしくは CVC の形になるものが1音節となる。 例えば…

C - Can I Square? / Codeforces Round 918 (Div. 4)

問題 個のバケツがあり、 番目のものには1辺の長さが の正方形のブロックがある。 すべてのブロックを使用して、正方形を作成することができるか判定せよ。 入力 まず最初の1行目に、テストケースの個数を表す整数 が与えられる。 その後、 個のテストケース…

B - Not Quite Latin Square / Codeforces Round 918 (Div. 4)

問題 A, B, C の3文字からなる 行列のうち、以下の条件を満たすものについて考える。 それぞれの行について、 A, B, C が必ず1文字ずつ存在する それぞれの列について、 A, B, C が必ず1文字ずつ存在する この条件を満たす行列として、例えば \begin{align} …

A - Odd One Out / Codeforces Round 918 (Div. 4)

問題 3つの整数 が与えられる。 このうち2つは等しく、もう1つは異なる値であるとき、異なる値を出力せよ。 入力 まず最初の1行目に、テストケースの個数を表す整数 が与えられる。 その後、 個のテストケースのそれぞれに対して、1行ずつ整数 が与えられる…

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

D - Small GCD / Codeforces Round 911 (Div. 2)

問題 整数 に対して、関数 を「 となるように並び替えたときの の値」を返す関数として定義する。 要素数が 個の整数列 が与えられるので、 であるすべての に対して の値の総和を求めよ。 すなわち、 の値を求めよ。 入力 まず最初の1行目に、テストケース…

C - Anji's Binary Tree / Codeforces Round 911 (Div. 2)

問題 頂点 を根とした 頂点の二分木がある。 各頂点は最大で2個の子を持っており、また頂点 は文字 をそれぞれ持っている。 ただし、 は U, L, R のいずれかである。 この二分木について、頂点 から以下のように動くことを考える。 いまいる頂点での文字が U…

B - Laura and Operations / Codeforces Round 911 (Div. 2)

問題 数字 がそれぞれ 個、 個、 個黒板にかかれている。 この状況下で、以下の操作を行う。 2つの異なる数字を1個ずつ選び黒板から消し、それらとは異なる数字を黒板に1個追加する。 例えば、黒板に と書かれていた場合、 を消して を追加することにより、…

A - Cover in Water / Codeforces Round 911 (Div. 2)

問題 1行からなる 個のセルがあり、一部はブロックされており、一部は空である。 以下の2つの操作を行い、すべての空のセルを水で埋めることを考える。 操作1: ある空のセルに水を入れる。 操作2: 水の入ったセルから水を抜き、別の空のセルにその水を入れる…

D1 - Maximum And Queries (easy version) / Codeforces Round 912 (Div. 2)

問題 長さ の整数列 と正の整数 が与えられる。 この数列 に対して、ある要素を だけ増やすという作業を最大 回行うことができる。 作業終了後に、 の各要素の bitwise AND を取ったときの最大値を求めよ。 ただし、 の値は全部で 個与えられるので、その 個…