Codeforces
Codeforces Round 920 (Div. 3) のF問題 (Sum of Progression) の解説記事です。
Codeforces Round 920 (Div. 3) のE問題 (Eat the Chip) の解説記事です。
Codeforces Round 920 (Div. 3) のD問題 (Very Different Array) の解説記事です。
Codeforces Round 920 (Div. 3) のC問題 (Sending Messages) の解説記事です。
Codeforces Round 920 (Div. 3) のB問題 (Arranging Cats) の解説記事です。
Codeforces Round 920 (Div. 3) のA問題 (Square) の解説記事です。
Educational Codeforces Round 161 (Rated for Div. 2) のE問題 (Increasing Subsequences) の解説記事です。
Educational Codeforces Round 161 (Rated for Div. 2) のD問題 (Berserk Monsters) の解説記事です。
Educational Codeforces Round 161 (Rated for Div. 2) のC問題 (Closest Cities) の解説記事です。
Educational Codeforces Round 161 (Rated for Div. 2) のB問題 (Forming Triangles) の解説記事です。
Educational Codeforces Round 161 (Rated for Div. 2) のA問題 (Tricky Template) の解説記事です。
問題 個の町があり、これらの町の間には 本の道路があり、道路 は町 と町 を結び、その長さは である。 また、どの町にも必ず自転車が1台売られており、町 での自転車の速度指標は である。 ここで速度指標とは、その自転車を使用することにより掛かる時間の…
問題 人の人が数直線上に並んでおり、 番目の人は点 におり、点 へと動こうとしている。 ただし、どの人にとっても であり、また始点と終点の座標はすべて異なるものとする。 (すなわち、 個の整数 はすべて異なる。) すべての人が同時に動き始め、1秒あた…
問題 個のグラスが1列に並んでおり、 番目のグラスにはジュースが 単位だけ入っている。 このグラスの連続する一部分を選択し、奇数番目のグラスに入ったジュースの量の合計と偶数番目のグラスに入ったジュースの量の合計を等しくできるか判定せよ。 すなわ…
問題 a, b, c, d, e の5種類の文字を使った新しい言語を考える。 これらの文字は以下の2種類のタイプに分けられる。 タイプ V : a と e が該当する タイプ C : b と c と d が該当する この言語では、CV もしくは CVC の形になるものが1音節となる。 例えば…
問題 個のバケツがあり、 番目のものには1辺の長さが の正方形のブロックがある。 すべてのブロックを使用して、正方形を作成することができるか判定せよ。 入力 まず最初の1行目に、テストケースの個数を表す整数 が与えられる。 その後、 個のテストケース…
問題 A, B, C の3文字からなる 行列のうち、以下の条件を満たすものについて考える。 それぞれの行について、 A, B, C が必ず1文字ずつ存在する それぞれの列について、 A, B, C が必ず1文字ずつ存在する この条件を満たす行列として、例えば \begin{align} …
問題 3つの整数 が与えられる。 このうち2つは等しく、もう1つは異なる値であるとき、異なる値を出力せよ。 入力 まず最初の1行目に、テストケースの個数を表す整数 が与えられる。 その後、 個のテストケースのそれぞれに対して、1行ずつ整数 が与えられる…
問題 頂点からなる木構造のグラフと、整数 が1個ずつランダムに入った順列 が与えられる。 ここで、グラフ内の頂点 の距離を とする。 組の整数 が与えられるので、そのそれぞれについて が成立するような が の中に含まれるか判定せよ。 入力 まず最初の1行…
問題 木構造のグラフとは、 ループを含まない 頂点 辺のグラフのことを指す。 頂点の木構造のグラフに対して、 日間で整数 が1日ごとに与えられる。 また、グラフは1日1回までなら、以下の操作を行うことができる。 ある頂点 と、 に隣接している頂点 と隣接…
問題 個の整数からなる数列 が与えられる。 この数列 に対して以下の操作を行う。 の最初の要素を最後に持ってくる。 その要素が、1つ前の要素より真に大きくなるまで前の要素と位置を入れ替える。 もし入れ替えを経て、その要素が再び先頭になった場合は操…
問題 個の整数からなる数列 が与えられる。 この数列の要素 に対し、 と定めるとき、 が成立するような整数 の組(ただし、 )の個数を求めよ。 入力 まず最初の1行目に、テストケースの個数を表す整数 が与えられる。 その後、 個のテストケースのそれぞれ…
問題 個の整数からなる数列 が与えられる。 数列 の連続部分列のうち、どの要素も隣接する数字の偶奇が異なるようなものについて、部分列内の要素の和の最大値を求めよ。 入力 まず最初の1行目に、テストケースの個数を表す整数 が与えられる。 その後、 個…
問題 個の箱があり、 番目の箱は トンの重さである。 この 個の箱を 個ずつ順番に運び、トラックに積むことを考える。 すなわち、 最初の 個の箱を最初のトラックに積む。 次の 個の箱を2番目のトラックに積む。 最後の 個の箱を 番目のトラックに積む。 と…
問題 最初に整数 が与えられる2人用のゲームがある。 片方の参加者のターンとして、「与えられた整数に対して を加える」か「 を減らすか」のいずれかの操作を行い、もう片方のターンにするということを繰り返す。 また、先手の勝利条件は「先手の操作直後に…
問題 整数 に対して、関数 を「 となるように並び替えたときの の値」を返す関数として定義する。 要素数が 個の整数列 が与えられるので、 であるすべての に対して の値の総和を求めよ。 すなわち、 の値を求めよ。 入力 まず最初の1行目に、テストケース…
問題 頂点 を根とした 頂点の二分木がある。 各頂点は最大で2個の子を持っており、また頂点 は文字 をそれぞれ持っている。 ただし、 は U, L, R のいずれかである。 この二分木について、頂点 から以下のように動くことを考える。 いまいる頂点での文字が U…
問題 数字 がそれぞれ 個、 個、 個黒板にかかれている。 この状況下で、以下の操作を行う。 2つの異なる数字を1個ずつ選び黒板から消し、それらとは異なる数字を黒板に1個追加する。 例えば、黒板に と書かれていた場合、 を消して を追加することにより、…
問題 1行からなる 個のセルがあり、一部はブロックされており、一部は空である。 以下の2つの操作を行い、すべての空のセルを水で埋めることを考える。 操作1: ある空のセルに水を入れる。 操作2: 水の入ったセルから水を抜き、別の空のセルにその水を入れる…
問題 長さ の整数列 と正の整数 が与えられる。 この数列 に対して、ある要素を だけ増やすという作業を最大 回行うことができる。 作業終了後に、 の各要素の bitwise AND を取ったときの最大値を求めよ。 ただし、 の値は全部で 個与えられるので、その 個…