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

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

Div.2

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

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 を取ったときの最大値を求めよ。 ただし、 の値は全部で 個与えられるので、その 個…

C - Theofanis' Nightmare / Codeforces Round 912 (Div. 2)

問題 個の要素からなる整数列 が与えられる。 これをいくつかの空でない部分列に分割する。 番目の部分列の要素の合計を とし、部分列の個数を 個とするとき、 の最大値を求めよ。 例 例えば、 とし、この数列 を と分割したとき、 \begin{align} \sum_{i = …

B - StORage room / Codeforces Round 912 (Div. 2)

問題 すべての要素が非負整数からなる 行 列の行列 が与えられる。 この行列 に対して、以下の条件をすべて満たす 個の要素からなる整数列 が存在するかを判定せよ。 がすべての である に対して成立する。 ただし、 は bitwise OR を表す。 入力 まず最初の…

A - Halloumi Boxes / Codeforces Round 912 (Div. 2)

問題 個の要素からなる数列 が与えられる。 ただし、 個目の要素は である。 ここで、 の部分列のうち、 個以下の長さのものを逆順にする、という作業が何回でもできるとき、 を昇順にすることができるかどうかを判定せよ。 ただし「逆順にする」とは、整数 …

D1 - Candy Party (Easy Version) / Codeforces Round 896 (Div. 2)

問題 パーティーに 人の参加者がおり、 人目の参加者は 個のキャンディを持っている。 このパーティーにて、キャンディの交換会を開催する。 交換会では、各参加者は以下の作業を必ず1回ずつ行う。 整数 (ただし、 )と非負整数 を選び、 番目の人に 個のキ…

C - Fill in the Matrix / Codeforces Round 896 (Div. 2)

問題 行 列の空の行列 がある。 この行列 の各行は長さ の順列( から までのすべての整数が1回ずつ現れる数列)でなければならない。 ここで、行列 の 列目に対して、値 を \begin{align} {v}_{i} = \mathrm{MEX}({M}_{1, i}, {M}_{2, i}, \cdots , {M}_{n,…

B - 2D Traveling / Codeforces Round 896 (Div. 2)

問題 個の街が2次元平面上にあり、それぞれ街 と名付けられており、このうち最初の 個は主要都市である。 街 の座標は である。 ここで、街 から街 へと移動する際には費用 がかかる。 については がともに主要都市のとき: それ以外のとき: で与えられる。 …

A - Make It Zero / Codeforces Round 896 (Div. 2)

問題 個の整数からなる数列 がある。(ただし、 である。) この数列に対して、 である整数 を選択し、以下の操作を行う。 とするとき、 から までのすべての値を に置き換える。 ここで、 はbit XORを表す。 この操作を8回以下行うことができるとき、 のす…