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

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

構築

キーエンス プログラミング コンテスト 2020 C - Subarray Sum (茶色, 400 点)

結構ギャグ要素強めな問題だった 問題へのリンク 問題概要 3 つの整数 が与えられる。 長さ の整数列 であって、以下の条件を満たすものを構築せよ: を満たすような の組がちょうど 個ある 制約 考えたこと とりあえず一つ思うこととして、 は全部 1 以上な…

AtCoder ARC 103 F - Distance Sums (赤色, 900 点)

900 点なので備忘録程度に... 久しぶりに競プロでめちゃくちゃ楽しかった!!! 2 時間 10 分かかったので本番だったら通せていないけど、どうすればもっと早く解けたのかの反省もこめて。 問題へのリンク 問題概要 以下の条件を満たす 頂点の木を復元せよ。…

KUPC 2019 G - ABCのG問題

今日の会社のバチャでやった。面白かった。 問題へのリンク 問題概要 のグリッドに 'A', 'B', 'C' の各文字を書き込む。以下の条件を満たすものを一つ求めよ。 以下のような に対して である: 隣接する 2 マスの組であって一方が 'A' で他方が 'B' であるも…

第一回日本最強プログラマー学生選手権-予選- D - Classified (青色, 600 点)

初見時は証明なしに再帰的にやった... 問題へのリンク 問題概要 頂点の完全グラフがあたえられる。 このグラフの辺に、非負整数値を付けていく方法のうち 整数値が等しい辺のみからなる部分グラフが奇数長のサイクルを含まない という条件を満たす範囲内で、…

Codeforces Round #584 (Div. 1 + Div. 2) C. Paint the Digits (R1600)

ちょっとややこしかった 問題へのリンク 問題概要 '0' 〜 '9' からなる 文字の文字列があたえられる。各文字を白黒に塗る。 どの黒く塗られた数も、あらゆる白く塗られた数以上である 白く塗られた数を元の文字列の順序で抜き取ったとき、数値は単調非減少で…

AtCoder ABC 131 E - Friendships (水色, 500 点)

順位表メタ読みスキルも大事かもしれない。「たくさん通しているのだから、きっと単純な方法があるに違いない」という感じの 問題へのリンク 問題概要 頂点の連結な無向グラフのうち、その間の最短経路長が 2 となっているような二頂点の組がちょうど 組であ…

diverta 2019_2 F - Diverta City (銅色, 900 点)

冷静になれば自然な構成ではあるね...企業コンのラス問だと身構えてしまうのがよくない 問題へのリンク 問題概要 頂点からなる重みつき無向単純完全グラフであって、 通り考えられるハミルトンパスに対して始点と終点が同じものを同一視して得られる 通りの…

AtCoder ABC 051 C - Back and Forth (緑色, 300 点)

ちょっとした構築系問題という感じかな... 問題へのリンク 問題概要 二次元平面上の二点 が与えられる。 はすべて整数である。 今、 から出発して「上下左右に 1 秒に 1 だけ動く」という動作を繰り返しながら に行き、またそこから出発して に戻り、さらに…

AtCoder ABC 126 F - XOR Matching (青色, 600 点)

600 点問題ともなると、さすがに正解者数も少ない。 色んな人が色んな構築してそうだけど、僕なりの方法をば。 問題へのリンク 問題概要 を 以上の整数とする。 以上 以下の整数が 2 個ずつあって、これを並べ替えてできる長さ の数列 であって、 となるよう…

AtCoder ABC 126 D - Even Relation (水色, 400 点)

とても教育的なツリーの探索問題。 問題へのリンク 問題概要 頂点の重み付き無向グラフが与えられる。このグラフの各頂点を白黒に塗る方法であって 同色に塗られた 2 頂点はどれを選んでも、その間のパスの長さは偶数である という条件を満たすものを求めよ…

AtCoder AGC 001 D - Arrays and Palindrome (1000 点)

楽しかった。 回文系の問題。「〜な条件だと結局全部一緒になる」という問題の雰囲気がどことなく数オリっぽい。 必要条件を頑張って列挙したら実は十分な感じもまた、数オリっぽさと AGC っぽさの両方がある感じ。 問題へのリンク 問題概要 総和が 、長さが…

AtCoder AGC 006 B - Median Pyramid Easy (青色, 400 点)

これの Easy バージョン。すごく楽しくて好き!!!!! Easy:操作の結果が所望になる入力を求める逆問題 Hard:操作に入力を与えた結果を求める問題 という風になっていて、普通「操作の結果を求めるだけ」の問題の方が絶対簡単なことが多いのに、Easy と …

AtCoder AGC 002 C - Knot Puzzle (水色, 500 点)

気づけばすぐな感じかな 問題へのリンク 問題概要 本のロープがあってそれぞれの長さは で与えられる。最初、ロープ の右端とロープ の左端が結ばれている。今、 長さが 以上のひとつながりのロープを選び、その中に結び目があればどれか 1 つ選んでほどく …

Codeforces 552 DIV3 G. Minimum Possible LCM (R2400)

天才か!!! 問題へのリンク 問題概要 個の整数 が与えられる。 < となる であって、LCM() が最小となるものを求めよ。 制約 考えたこと という制約がいかにも怪しい。この制約が意味するのは 配列 a をバケットで表せる。すなわち a = (2, 3, 5) みたいな…

GCJ 2019 Round 1A A - Pylons

こどふぉにありそうな雰囲気の問題かな 問題へのリンク 問題概要 × のグリッドの各マスをちょうど一回ずつ訪れたい。ただし スタートとゴールは異なるマスでよい 毎回の移動は、上下左右斜めの 8 方向への移動は禁止 (飛車の移動も角の移動も禁止) を満たす…

GCJ 2019 Qual A - Foregone Solution

面白かった 問題へのリンク 問題概要 100 桁以下の整数 が与えられる (文字列型で受け取るのがよさそう)。 も も十進法表記で '4' が登場しない を満たすような整数 の組を 1 つ求めよ。 制約 < < 考えたこと 繰り上がりを考えると面倒なので、繰り上がりが…

GCJ 2019 Qual B - You Can Go Your Own Way

ちょっと考えればできる 問題へのリンク 問題概要 × のグリッドグラフの左上から右下への最短路が 1 つ与えられる。この最短路と辺を共有しない最短路を一つ求めよ (頂点で重なるのは OK) 制約 考えたこと 対角線に沿って反転すれば OK #include <iostream> #include <sstream> </sstream></iostream>…

AtCoder AGC 032 B - Balanced Neighbors (水色, 700 点)

三角形、四角形、、、と順に作って行って、五角形の場合を作るのに苦労した!!! 問題へのリンク 問題概要 頂点番号が な単純無向であって、以下の条件を満たすものを 1 つ構築せよ: どの頂点についても、その頂点に隣接している頂点の番号の和が等しい 制…

AtCoder AGC 031 C - Differ by 1 Bit (黄色, 800 点)

証明はできるし、その証明に基づいた構成を数学的に与えることまではできるけど、それを実装に落とすのがすごく大変な問題。。。 問題へのリンク 問題概要 整数 が与えられます。 の順列 であって、 次の条件をすべて満たすものが存在するかどうか判定してく…

AtCoder World Tour Finals 2019 A - Magic (1000 点)

世界大会で注意力を問う罠枠だったのかな 問題へのリンク 問題概要 個の箱があってそのうちの一つに財宝が入っている。箱を 1 個 1 個開けて行くことで財宝を見つけたい。ただし、財宝が入っている箱を開けようとすると最大 回、財宝が他の箱に瞬間移動して…

AOJ 2940 場所当てゲーム (RUPC 2019 day1-D)

発想はすごくシンプルで、実装頑張る 問題へのリンク 問題概要 整数 が与えられる。 ラウンドのインタラクティブゲームを行う。 まずあなたは 頂点の無向単純グラフを 1 つ作成して出力する。 相手はそのグラフを受け取り、各ラウンドのはじめに、いずれか 1…

全国統一プログラミング王決定戦 エキシビジョン F - コラッツ問題 (300 点)

一発芸問題 問題へのリンク 問題概要 整数 に対し、 のとき それ以外で のとき それ以外で が偶数のとき それ以外で が奇数のとき で定義される。 整数 が与えられます。となるような 以下の正整数 をいずれか 1 つ出力してください。 ただし、 であることが…

AOJ 1089 Strawberry Cake

面積二等分系の第二弾 問題へのリンク 問題概要 頂点の凸多角形が与えられる。原点を通る直線であって、この凸多角形を面積が等分になるように切断するものを求めよ。複数ある場合はどれか 1 つ求めればよい。 制約 原点は凸多角形に内包される 考えたこと …

みんなのプロコン 2018 決勝 B - 経路が色々 (800 点)

解説は三進法でやってたけど、二進法でもできた 問題へのリンク 問題概要 次をすべて満たすようなマス目を構成せよ。 マス目の各マスは白か黒で塗られている マス目の縦横の長さをそれぞれ N,M としたとき、N,M は 1 以上 100 以下である 一番左上のマスから…

Tenka1 2018 D - Crossing (緑色, 500 点)

C 問題もそうだったけど、C も D も証明した状態で提出していた。 ノーペナで行けたのはよかったけど、でもスピード的には、証明できていなくてもえいやっと提出した方が早いのかもしれない。 問題へのリンク また類題として以下の問題がある: CODE FESTIVAL…

AtCoder ARC 103 E - Tr/ee (青色, 700 点)

取り急ぎ... 問題へのリンク 問題概要 N 頂点からなるツリーがあって、各辺で切ってできる連結成分のサイズとしてありうるものすべて集めたものが指定される。そのようなツリーを 1 つ構築せよ。存在しない場合は -1 とせよ 解法 とりあえず、 サイズ 1 は絶…

AtCoder ABC 111 D - Robot Arms (ARC 103 D) (橙色, 600 点)

くやしい 問題へのリンク 問題概要 個の座標 () が与えられる。 今、40 本以下の正の整数 を用意して、それぞれについて (), (), (), () をうまく選択して加算することで、() をすべて作れ。できないときは -1 とせよ。 各 について共通の を用いなければな…

AtCoder AGC 008 D - K-th K (黄色, 800 点)

実装は手こずったものの、それなりに自信のある Greedy を提出できて一発 AC できてよかった 問題へのリンク 問題概要 1 〜 の値を 個ずつもつ長さ の数列であって、 各 について、 番目の値が 個目の である という条件を満たすものを 1 つ構築せよ。条件を…

AtCoder ARC 091 E - LISDL (青色, 700 点)

問題へのリンク 問題概要 1, 2, ..., N を並べ替えてできる列であって、以下の条件を満たすものがあるかどうか判定し、あればその例をひとつ構成せよ: 最長増加部分列の長さは A 最長減少部分列の長さは B 制約 1 <= N, A, B <= 3 × 105 解法 LIS and LDS と…

AtCoder AGC 027 D - Modulo Matrix (赤色, 1100 点)

悔しい... 問題へのリンク 問題概要 整数 が与えらる。以下の条件を満たすような 行列 a を 1 つ構築せよ: 各要素の値は 以上 以下 ある正の整数 が存在して、行列の上下左右に隣接する 2 数 をどこから取り出しても、max() を min() で割ったあまりは とな…