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

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

再帰的構造をもつ問題

AtCoder ABC 115 D - Christmas (400 点)

再帰関数の使い方に慣れるための教育的問題。 この手の再帰的なフラクタルっぽい構造を読み解く問題は「十分回数を重ねると最初の方の模様が収束する」みたいなことをするイメージがあるけど、今回はそういうのじゃなくて純粋に再帰関数の使い方を問われる問…

AtCoder ABC 114 D - 756 (400 点)

editorial は「75」という整数の特徴をフル活用している。 そして 75 という整数の特徴を活用しない DP による方法もあると説いている。 ここでは 75 という整数の特徴も活用せず、DP もしない (といっても DP への改良は容易) 愚直な全探索でも通った。 問…

AtCoder AGC 033 D - Complexity (1000 点)

これを解けなかったのが強い敗北感。 DP 配列が巨大になりそうなときに、最適化する対象を入れ替えるテクは今までなんども見ているのにそれが思いつかない思考の硬さを思い知らされた。 問題へのリンク 問題概要 0 と 1 のみからなる行列の複雑度を すべて同…

AtCoder ABC 114 C - 755 (300 点)

現代の AtCoder では少ない、再帰関数を用いると良い感じに書ける全探索問題。 すごく教育的な問題!!!!! 問題へのリンク 問題概要 10 進法表記で各桁の値が 7 と 5 と 3 のみで、かつ 7, 5, 3 がすべて一度以上は登場するような数を「753 数」と呼ぶこ…

AOJ 1131 Unit Fraction Partition (ICPC 国内予選 2004 C)

有理数ライブラリ整備とか大げさなことせずに全探索頑張るのが本筋であろうが、ここでは有理数ライブラリの足し算の verify としてやってみた。 問題へのリンク 問題概要 有理数 p/q を n 個以下の 1/r な形の有理数の和として 分母 r の積が a 以下となるよ…

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

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

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

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

AtCoder AGC 010 D - Decrementing (1000 点)

一目見て惹かれた。すごく面白かった。割と自然な考察の流れで解けた。 問題へのリンク 問題概要 個の正の整数からなる数列 が与えられる。先手と後手が交互に以下を繰り返す。先に操作を行えなくなった方が負けである。双方最善を尽くしたときにどちらが勝…

キーエンス プログラミング コンテスト 2019 E - Connecting Cities (600 点)

めちゃいっぱい解法あってすごい!!!!!!!MST への理解が問われる。 いずれ復習をやり切ってちゃんとしたいが取り急ぎ、分割統治法 Kruskal と、想定解法のみ。 問題へのリンク 問題概要 頂点からなるパスグラフと整数 が与えられる。各頂点には重み が…

AtCoder AGC 026 D - Histogram Coloring (1100 点)

なんか yukicoder で書いた問題に前半は似てた。でもこの問題の難しいところは後半の方なのんな。。。 問題へのリンク 問題概要 (AGC 026 D) 幅が マス、高さが のヒストグラムが与えられる。このヒストグラムの各マスを白黒に塗る方法のうち どの 2 × 2 の…

再帰的構造を見出して解く 2 つの難問

Tenka1 F ModularPowerEquation!! に挑んだときに「再帰的に解ける」ことに気づかずに苦渋を飲んだにもかかわらず、CODE FESTIVAL 2017 QualB F Largest Smallest Cyclic Shift で同じように「再帰的に解ける」ことを見逃してしまったので、もう二度と見逃す…