サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブラックフライデー
torus711.hatenablog.com
はじめに (少なくともブログ上では)お久しぶりです.この記事は,Competitive Programming (その2) Advent Calendar 2016 - Adventar の 14 日目の記事です. いわゆる思い出ポエムが流行って(?)いて,わたしも楽しく読ませてもらっています.人々の昔話を読みながら昔のことを思い返してみたところ,競技プログラミングにハマる以前からは想像できないような未来に生きていることに気付いた(というか再認した)ので,わたしもちょっくら書き残してみようかな,と思いました.丁度枠が残り一つだったのと,「何か」を飲んでいたので, よっぱなので某あどべんとかれんだー登録した.真面目なことを書く用意はないのでたぶんポエム.— とーらす (@torus711) 10 December 2016 といった具合で登録しました. 話としては,「色々あったけど,わたしは
はじめに 動的計画法のパターンの一つで,「Digit DP」とか「桁 DP」と呼ばれているものがあります.問題によって異なってくる部分もありますが,問題によらず共通している部分がかなりあるので,その部分を中心に解説してみたいと思います. Digit DP とは? 「ある整数 以下の非負整数であって,ある条件を満たすものの個数を求めよ」といったタイプの数え上げ問題を解くときにしばしば使われる手法です.Digit DP は,整数の各桁に入る値を 1 桁ずつ決めていくという全探索を DP 化したものです.「ある条件」の部分はとりあえず置いておいて,「 以下の非負整数を数える」というのを例にしてみようと思います.答えは当然 ですが,これを Digit DP で求めることで Digit DP の本質的なアイデアが見えてくると思います.また,求める整数は 10 進表記であるとします. Digit DP
前置き これは、Competitive Programming Advent Calendar Div2013, 第 5 日の記事です。 記事の内容はタイトルの通り、アルゴリズムではなくコーディング自体に関するテクニック集です。(おそらく)競技プログラミング界隈ではこういった知識についてのまとまった資料が少なく、他の参加者のコードを見て盗まなければならないというのが現状だと思います。当ブログでも、テクニカルな書き方をしたコードを特に説明せずに掲載しているので、わたしがよく使っているものをまとめてみようと思いました。 この記事の内容を実践することで、例えば次のような効果があります。(個人の感想です) コード量が減少し、すっきりまとまったコードになってうれしい コードの意味が分かりやすくなり、デバッグしやすくなってうれしい Challenge / Hack の際に変なコードでも読めるようになっ
このページを最初にブックマークしてみませんか?
『torus711.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く