けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

構築

AtCoder ABC 373 G - No Cross Matching (3D, 黄色, 600 点)

すごく面白かった! 問題へのリンク 問題概要 二次元平面上に点 と という 個の点がある。同一直線上に 3 点が乗ることはない。 の順列 であって、次の条件を満たすものが存在するかどうかを判定し、存在するならば 1 つ示せ。 【条件】 に対して、2 点 , を…

AtCoder ABC 372 B - 3^A (5Q, 灰色, 200 点)

三進法をテーマにした問題! 問題へのリンク 問題概要 正の整数 が与えられる。以下の条件を全て満たす正の整数 と非負整数列 を 1 つ求めよ。 制約 考えたこと 問題文が一見わかりにくいかもしれない。こういうときは具体的にやってみよう。 たとえば のと…

AtCoder ABC 343 A - Wrong Answer (8Q, 灰色, 100 点)

パズルのような問題! 問題へのリンク 問題概要 0 以上 9 以下の 2 つの整数 が与えられる。 0 以上 9 以下の整数のうち、 とは異なるものを 1 つ求めよ。 考えたこと もし でなければ、0 を出力すれば事足りる。 もし であるならば、0 以外の数 (たとえば 1…

yukicoder No.254 文字列の構成 (2Q)

yukicoder で「構築」練習することにした! 問題へのリンク 問題概要 英小文字からなる文字列 であって、次の条件を満たすものを求めよ。 文字数は 以下である どの隣接する文字も相異なる の連続する部分文字列であって、回文であるものがちょうど 個存在す…

AtCoder ABC 350 C - Sort (3Q, 灰色, 300 点)

の計算量で良いなら簡単。 「どこに値 の要素があるのか」を管理するというテクニックをここで習得しよう! 問題へのリンク 問題概要 の並び替えである順列 が与えられる。これをソートしたい。以下の操作を 回まで実施できる。 を選んで、 と を swap する …

AtCoder ARC 176 A - 01 Matrix Again (1D, 水色, 400 点)

大敗してしまったので自戒を込めて。 問題へのリンク 問題概要 整数 が与えられる。 のグリッドであって、以下の条件を満たすものを構築せよ。 各マスの値は 0 または 1 である 個のマス の値はいずれも 1 である 行和はすべて である 列和はすべて である …

AtCoder ARC 167 E - One Square in a Triangle (銅色, 800 点)

天才構築ゲー。これ完全自力で一発 AC できて嬉しかった!! 問題へのリンク 問題概要 正の整数 が与えられる。次の条件を満たす三角形が存在するかどうかを判定し、存在すれ場合は 1 つ求めよ。 頂点がすべて格子点であり、座標値は 以上 以下である すべて…

AtCoder ARC 171 D - Rolling Hash (黄色, 600 点)

コンテスト後に解いた。こっちの方が解きやすかった。 問題へのリンク 問題概要 制約 考えたこと 最初は の指数を気にするのかな......などと考えていたが、考えていくうちに の値など、ただの飾りであることがわかってきた。 まず、問題の条件を言い換える…

AOJ 4003 演算装置の接続 (PCK 2022 本選 4)

次数制約つきのグラフを構築するためには、次数の大きいところから Greedy というよく知られた問題! 問題へのリンク 問題概要 正の整数からなる長さ の数列 が与えられる。 以下の条件を満たすような、頂点数 のグラフが存在するかどうかを判定せよ。 単純…

AtCoder ABC 317 G - Rearranging (橙色, 600 点)

面白かった 問題へのリンク 問題概要 のグリッドがある。各マスには数値が書かれている。 個の数値を集めると、 が 個ずつある。 今、各行について、その 個の数値を自由に並び替えていく。 その結果として、すべての列が の順列であるようにすることが可能…

yukicoder No.2410 Nine Numbers

平衡三進法! 問題へのリンク 問題概要 次の条件を満たすサイズ 9 の整数列 を求めよ。 である 以上 以下の任意の整数 に対して、次の操作を繰り返す操作列が存在して、整数列中に整数 が存在する状態にできる 操作 1:数列から 2 つの要素 を選び、その 2 …

AtCoder ABC 282 F - Union of Two Sets (青色, 600 点)

コンテスト中、Sparse Table だと思わずに解いていた。コンテスト後に TL で Sparse Table だと見て、「確かに!」と思った。 問題へのリンク 問題概要 インタラクティブ問題である。次のフェーズ I とフェーズ II に分かれる。 フェーズ I ジャッジから整数…

AtCoder AGC 053 A - >< again (水色, 400 点)

自明な上界を達成できるパターンだった! 問題へのリンク 問題概要 長さ の非負整数列 が与えられる。この数列はどの隣接する二項も値が異なる。 この数列をなるべく多くの 項の非負整数列へと分解せよ。分解とは 分解された各非負整数列の各項を足すと、も…

AtCoder ARC 115 C - ℕ Coloring (茶色, 500 点)

これ茶色はさすがにびっくりした! 問題へのリンク 問題概要 整数 が与えられる。 正の整数からなる数列 であって、 が の約数であるような任意の に対して という条件を満たすものを考える。そのような数列のうち、数列に登場する値の最大値が最小となるよ…

AtCoder AGC 050 A - AtCoder Jumper (500 点)

これ本当にずっとわからなかった...言われてみればという感じ!! 問題へのリンク 問題概要 以下の条件を満たす、頂点数 の有向グラフ (頂点番号を とする) を構築せよ (自己ループも多重辺も可)。 すべての頂点の出次数は 2 である 任意の頂点対 に対して、…

Codeforces Round #673 (Div. 1) B. Make Them Equal (R2000)

こどふぉ特有の 回以下の操作で〜を達成せよ、という問題 問題へのリンク 問題概要 長さ の正の整数からなる数列 が与えられる。以下の操作を 回以下繰り返すことで、数列の値がすべて等しくなるようにしたい。そのような操作列を一つ求めよ。不可能である場…

Codeforces Global Round 12 C2. Errich-Tac-Toe (R2300)

これ好き! 問題へのリンク 問題概要 のグリッドがあって、"." と "O" と "X" のいずれかが描かれている。"O" または "X" の描かれているマス目の個数を とする。 今、いくつかのマスに対して、"O" または "X" のマス目の "OX" を入れ替える操作を行う。それ…

AtCoder ARC 110 F - Esoswap (橙色, 900 点)

コンテスト後に AC して、解けた気持ちになっていたけど、その解法は嘘だった 問題へのリンク 問題概要 の順列 が与えられる。以下の操作を最大 200000 回まで繰り返すことでソートされた状態にせよ。 のいずれかを選んで と を swap する 不可能である場合…

AtCoder ARC 108 C - Keep Graph Connected (水色, 500 点)

誤読したーーーーー 問題へのリンク 問題概要 頂点数 、辺数 の連結な無向グラフが与えられる (多重辺はありうるが、自己ループはない)。各辺には色がついていて、色は 以上 以下の整数値で与えられる。 各頂点に 以上 以下の色を割り振りたい。このとき、「…

Codeforces Round #682 (Div. 2) C. Engineer Artem (R2000)

グリッドグラフは二部グラフ!!! 問題へのリンク 問題概要 のマス目に整数値 (マス には ) が書かれている。 各マスについて、「元の整数値のままにする」または「元の整数値に 1 を足したもの」をすることによって、どの隣接する 2 マスの値も互いに相異…

AtCoder AGC 038 A - 01 Matrix (緑色, 300 点)

これは天才パズル!!! 問題へのリンク 問題概要 のグリッドに 0, 1 の数値を書き込む方法であって、 どの行をみても、それに含まれる 0 の個数と 1 の個数のうちの小さい方の個数が どの列をみても、それに含まれる 0 の個数と 1 の個数のうちの小さい方の…

AtCoder AGC 036 A - Triangle (緑色, 400 点)

ちょっと面白い感じの構築問題! 問題へのリンク 問題概要 正の整数 が与えられる。 以下の条件を満たす 3 つの格子点 の組を一つ求めよ。 座標値はすべて 以上 以下の整数値 3 つの格子点からなる三角形の面積を 2 倍すると に一致 制約 考えたこと 仮に 1 …

AtCoder AGC 041 C - Domino Quality (黄色, 900 点)

構築楽しかった 問題へのリンク editorial 問題概要 のグリッド上に のドミノを互いに重ならないように配置していく。 どの行・列を見ても、その行・列上にある のドミノの個数が互いに等しいような配置を求めよ。存在しない場合は "-1" を出力せよ。 制約 …

AtCoder AGC 005 C - Tree Restoring (青色, 700 点)

面白かった! 問題へのリンク 問題概要 頂点数が の木であって、各頂点 から最も遠い頂点への距離がそれぞれ であるような木が存在するかどうかを判定せよ。 制約 考えたこと 面白そう!!!!!!似た見た目の問題としては、次の問題もあった。 drken1215.h…

KUPC 2020 C - Grid and Substrings

山登り法で見つかった!スコアが下がっていくのを眺めるの快感! 問題へのリンク 問題概要 のグリッドに以下の条件を満たすように英小文字を入れよ。 横方向、縦方向に連結しているマス目を抜き出してできる文字列は 個ある そのすべてが互いに相異なる これ…

AOJ ???? Stick Combination (KUPC 2020 D)

面白かった 問題へのリンク 問題概要 という 個の整数がある。これらを 2 個以上のグループに分ける。各グループの整数の総和が互いに等しくなるようにグループ分けすることが可能かどうかを判定し、可能ならば具体例を構築せよ。 制約 考えたこと こういう…

CPSCO2019 Session4 F - Lost Tree (800 点設定)

テスターしてました!難しかった。 問題へのリンク 問題概要 ラスク君は木を持っていましたが、なくしてしまいました。 この木は、頂点に 1 以上頂点数以下の相異なる整数の番号がついていて、各辺には 以上 以下の整数の重みが定まっていました。 頂点数は …

AtCoder ARC 106 C - Solutions (水色, 500 点)

面白かった 問題へのリンク 問題概要 以下の条件を満たすような 個の区間 ( 番目を とする) を構築したい。 はすべて互いに相異なる整数 これらの区間の中から「どの 2 個も交差しないように最大で何個の区間を選べるか」という問題に対して、高橋君と青木君…

Codeforces Grakn Forces 2020 F. Two Different (R2300)

ならば になるネタ、結構見る! 問題へのリンク 問題概要 数列 があって、初期状態では となっている。ここで 2 つの正の整数の組 に対して正の整数 を返す関数 を考える。 次の条件を満たす操作列を構築せよ。1 つの操作は整数 で与えられ、 , をともに で…

AtCoder ABC 168 D - .. (Double Dots) (緑色, 400 点)

BFS 木とか、BFS による経路復元とか、その辺りの理解を問いかける教育的問題だった!!! 問題へのリンク 問題概要 頂点、 辺の無向グラフが与えられる。頂点 1 以外のすべての頂点に対し「みちしるべとなる頂点」を、以下の条件を満たすように設定すること…