よくやる再帰関数の書き方 ~ n 重 for 文を機械的に ~ - けんちょんの競プロ精進記録

ツイッターのコメント(23)

重い腰をあげてこの記事見ながら再帰関数を練習します
〜 n 重 for 文を機械的に 〜 - けんちょんの競プロ精進記録
すごい(TT)
昨日のABC236 D問題を理解するために、けんちょんさんの「再帰で全探索」に関する記事を拝読しています。
さすがけんちょんさん…!!
再帰関数の実装って競プロに限らずプログラミング一般においても主要なテーマなのに、その割には体系的に解説しているページが見当たらないのはなぜなんでしょう。
ただ、探している内に今回偶々すごく良さげな解説記事を見つけることができました。こちらを読んでいきます。
けんちょん本で再帰関数をべんつよしたけどいまいちお気持ちが掴めなかったので練習問題無いかなーと思ってググったらけんちょん氏のブログがヒットした( )
“多重 文というのは結局、ある条件を満たす「数列」を全探索するというのをしていると言えます。”

こういう「この操作って結局何。」って部分がしっくりくると実装も割とすぐに理解できる。
再帰関数難しすぎてパニック
この記事みながらようやくMany Requirements解けた~
再帰関数うまく使うと強すぎるな
これにて令和ABC-C埋め終わり
〜 n 重 for 文を機械的に 〜 - けんちょんの競プロ精進記録 この記事好き。
これ再帰呼び出しに渡す値ってappendとpopでやった方がいいのね 今までappendのみでやってバグったから+で足したやつ渡してたけどそれだと新しく作る分遅いのか
理解するのに10時間くらいかかりそうという気持ちになっています
bit全探索もこっちの書き方するようにしよ
@osshan9 bit全探索は再帰で書ける全探索の特殊形に過ぎないので再帰で書き直すのも練習になる
Cは59分でAC。ナップサック問題的な感じ。品物が少ないので全探索できます。(所詮C問題だし。)
けんちょんさんのブログで再帰を勉強したおかげで、なんとか書けました。

合計金額の最小値の保持と更新で苦戦しました。Pythonでの変数のスコープが、いまだに理解できません。
ダメだ。。。頭が悪すぎて再帰関数で下から二桁目が頭の中で1にならない、、、
けんちょんさんのこの記事がとてもわかりやすかった.
少し複雑な再起になってくると,どうやって再起書けばいいかわからなくなってくるけど,こういった一般化された形があるとだいぶ書きやすくなる.
〜 n 重 for 文を機械的に 〜 - けんちょんの競プロ精進記録
けんちょんさん(@drken)の記事を参考に頑張ってみたらABC165-C解けました…
他の問題も試してみてdfs習得します
とてもわかり易かった。ABC165のCを納得の行く形で実装できたので他のやつもやってみよう。

〜 n 重 for 文を機械的に 〜 - けんちょんの競プロ精進記録
〜 n 重 for 文を機械的に 〜 - けんちょんの競プロ精進記録
ライブラリがクソ潤った
最近 AtCoder でよく出るようになった「再帰関数を用いた全探索」という問題に対して

・多くの問題に通用するテンプレ実装を一つ示す
・それをちょっと改変するだけで、先日の ABC-C も、ルンルンも、755 数も扱える
・C++ / Python 両方対応

というのを書いてみました!!
以上
 
PR
PR