私Luoguボーオフに発表された同期。
NOIP2013 2問題解決を向上させます:
最初は蓮の葉の番号nに先立ちカエル、。場合数kの蓮の葉、それがランダムジャンプの時間等確率になる次回1、...、k番目の遠ジャンプ第1蓮の葉まで、葉の一つ。n = 2の場合、合計2回のジャンプを意味する3 N =、2.5ホップの平均合計します。nが5に等しく、平均総ジャンプ数回。
カエルに最初の質問は、1番、2番、3番、4番、5番蓮の葉を落下された5つのケース、に分割されている工程の後にランダムな状況をジャンプ。それぞれの場合の1/5の発生確率。
その後、集合F(n)は、所望の平均数N蓮の葉のシートです。明らかに、F(1)= 1。
簡単な考察を起動します。
当n=2:
共2种情况:落在1号或2号上。
落在1号上,问题变为求f(1)。
落在2号上,问题变为求f(2)+1。
Q:なぜプラス1?
A:それは一度スキップしたので。
Q:なぜ、fは(1)ではないでしょうか?
A:それはに来ているので。
それは平均化され、そしてfは(1)が知られている、式を挙げることができるため。
F(2)=(F(1)+ 1つの+ F(2))* 1/2
(2)2 = Fについて解きます。
Q:なぜ、すべてを追加する必要がありますか?
A:追加の原則を考慮してください。
次いで、N = 3の状態:
共3种情况:落在1号或2号或3号上。
落在1号上,问题变为求f(1)。
落在2号上,问题变为求f(2)+1。
落在3号上,问题变为求f(3)+1。
不慣れな調理されましたか?
元の問題の各々は、n個のサブ問題に分割することができ、スケールが(???)より小さなサブ問題となり、サブ問題は、元の質問を追加することによって得ることができます。
ビット再帰的な感じ。
n = kの状態を見るために拡張:
共k种情况:落在1号或2号或3号或……或k号上。
落在1号上,问题变为求f(1)。
落在2号上,问题变为求f(2)+1。
落在3号上,问题变为求f(3)+1。
……
此处省略
……
落在k号上,问题变为求f(k)+1。
使用可能な式f(K)=(F(1)+ 1つの+ F(2)+ 1つの+ F(3)+ ...... + 1つの+ F(K))* 1 / K
次に、同様のアイテムの上記式合併。
k個*のF(K)=(F(1)+ 1つの+ F(2)+ 1つの+ F(3)+ ...... + 1つの+ F(k))を
k個*のF(K)= K-1 +(F(1)+ F(2)+ F(3)+ ...... + F(k))を
(K-1)* F(K)= K-1 +(F(1)+ F(2)+ F(3)+ ...... + F(K-1))
F(k)= 1 +(F(1)+ F(2)+ F(3)+ ...... + F(K-1))* 1 / K
この時点で、F(n)の漸化式は、私たちを紹介されました:
F(N)= 1 +(F(1)+ ...、F(N-1))/(N-1)
問題を解決することの難しさも漸化式、漸化式の導入、N = 5馬の神の導入にあり、スラグのスラグです。
さて、今、要約する:まず、あなたが関係を一覧表示することができます、のは小型化した後、問題のサイズを小さくしようとする再帰的な思考を使用してみましょう。再び一般から一般的に特定、リストの関係にした後、簡素化、我々は、フォームの再帰の簡素化の表現形式は、その後、我々はボトムアップから解決することができることを見出しました。
実際には、時々、再帰と再帰的、本質的に、違いはありません。時々、私たちは非常に難易度の考え方やコードの実装が困難減らすことができます解決を達成するために、再帰的な方法で、問題を検討するために、再帰的な思考を使用しています。
なぜ再帰と再帰的、本質的には、違いはありません。まず第一に、これは再帰的な解決の使用のための問題であることを把握する必要があります。
任意の再帰ループを書くのに使用することができるので(限り、あなたの胆嚢は、バースト0を恐れていない、十分な大きさであるように)、我々は一般的な再帰ループが+のような配列以外の何ものでもありません実現します。したがって、再帰的に達成するために再帰を使用することができます。たとえば、数をフィボナッチ。(それは、それの複雑さを増すよりも、より多くの何もないDFS動的計画を考える)すべてではない再帰ループは、バックトラック、例えば、滴を達成するために使用することができることに注意してください。だから、それを描くことができます:再帰再帰は必ずしも達成することはできません。
私はあなたが、少しでも役立つことを願って、私は満たしています。
再現され、著者とソースを明記してください。