1. 程式人生 > >動態規劃-------一個簡單爬梯子問題

動態規劃-------一個簡單爬梯子問題

#include <stdio.h>
int result[100];
int f(int n)
{
  int res;
  if(result[n]>=0) return result[n];
  if(n==0 || n==1) res=1;
  else res=f(n-1)+f(n-2);
  result[n]=res;
  return res;
}
int main()
{
  int i;
  for(i=0;i<=20;i++)
    result[i]=-1;
  printf("%d/n",f(20));
  return 0;
}

相關推薦

動態規劃-------一個簡單梯子問題

#include <stdio.h>int result[100];int f(int n){  int res;  if(result[n]>=0) return result[n];  if(n==0 || n==1) res=1;  else res=f(n-1)+f(n-2);  r

Python練習(1):遞迴和動態規劃簡單應用

首先考慮一個問題,假如我們在某個編譯器上寫出了這樣的式子:(i++)(i++)(i++),假設i = 5,那麼會有多少可能的結果? 顯然,編譯器對這種行為是未定義的,我們不知道i自增和乘法指令的執行順序,可能的結果有5*5*5, 5*5*6, 5*5*7, 5

動態規劃——一個神奇的演算法類

當我第一次做到一個題,那是一個擁暴搜來解決的問題。原本只是想要簡單的看一下貪心法的演算法實現,沒想到竟然挖出了真麼個龐然大物。 在沒有看到他的程式碼實現之前,我一直以為計算機只是一個可以大量快速計算,但卻只能以二進位制,傻傻的算的機器。我沒要做的,便是把一切問題轉化為二進位

leetcode746. 使用最小花費樓梯 動態規劃簡單題 python3

          陣列的每個索引做為一個階梯,第 i個階梯對應著一個非負數的體力花費值 cost[i](索引從0開始)。 每當你爬上一個階梯你都要花費對應的體力花費值,然後你可以選擇繼續爬一個階梯或者爬兩個階梯。 您需要找到達到樓層頂部的最低花費。在開始時,你可以選擇從

動態規劃一個簡單例項java

如果一個問題可以分為多個子問題,這若干個子問題如果是相互獨立的,那麼我們可以使用分治的思想解決,如果分解的子問題之間並不是獨立的,那麼就可以使用動態規劃來解決了。 動態規劃原理: 一個最優策略的決策過程中產生的子問題的子策略必然也是最優的,簡單的一個說明就是,最終的策略最優

計蒜客--樓梯 (動態規劃

tle nbsp vector main long 3.1 false n) 方法 假設你現在正在爬樓梯,樓梯有 nn 級。每次你只能爬 11 級或者 22 級,那麽你有多少種方法爬到樓梯的頂部? 輸入格式 第一行輸入一個整數 n(1\leq n \leq 50)n

51nod 1270 數組的最大代價 思路:簡單動態規劃

i++ for end names bits image using idt color 這題是看起來很復雜,但是換個思路就簡單了的題目。 首先每個點要麽取b[i],要麽取1,因為取中間值毫無意義,不能增加最大代價S。 用一個二維數組做動態規劃就很簡單了。 d

HDU 2084 數塔 簡單動態規劃

動態 src 2-2 code .cn clas return 技術分享 space 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2084 題目大意:有如下所示的數塔,要求從頂層走到底層,若每一步只能走到相鄰的結點,則經過的

HDU 2041 超級樓梯 簡單動態規劃

多少 .html div ++ n) 導出 can -- http 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2041題目大意:有一樓梯共M級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第M級,共有多少種走法?這

樓問題—遞歸、動態規劃

不同 cnblogs 正在 動態 clas div pan urn 每次 問題:假設你正在爬樓梯,需要n步你才能到達頂部。但每次你只能爬一步或者兩步,你能有多少種不同的方法爬到樓頂部? code: 1 //動態規劃解決爬樓問題 2 int dp_climbStairs

簡單動態規劃,數字三角形,以及做題思路。

數值 space 鏈接 分析 ios style iostream 循環 turn 鏈接 一句話題目:給出一個n層的三角形,每個位置有一個數字,到達後可獲得,求到達最低層能達到的最大數字和。 題目分析: 首先我們考慮能不能用搜索做,因為對於一個坐標,我們只有向下

動態規劃_百煉 4117 簡單的整數劃分問題

出口 sta pre color 劃分 stack 大於 iostream 規劃 1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <math.h> 4

climbing-stairs-動態規劃樓梯的路徑數

can all ase 需要 斐波那契數 bsp eps 算法復雜度 tair You are climbing a stair case. It takes n steps to reach to the top. Each time you can either cli

一個簡單動態代理實現

font ima add null 當前 bject tar main style 接口: 1 package spring.aop; 2 3 public interface Arithmetic { 4 5 Integer add(Integer a,In

基於python的動態規劃經典問題(樓梯,取珠寶,最大子序列和,找零錢)

1,爬樓梯問題 一個人爬樓梯,每次只能爬1個或兩個臺階,假設有n個臺階,那麼這個人有多少種不同的爬樓梯方法 動態規劃的狀態轉移:第 i 個狀態的方案數和第 i-1, i-2時候的狀態有關,即:dp[i]=dp[i-1]+dp[i-2],dp表示狀態矩陣。 def climb_stai

POJ1163數字三角形【簡單動態規劃

The Triangle  POJ - 1163  7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (Figure 1) Figure 1 shows a number triangle. Write a prog

一個簡單Python爬蟲例項(取的是前程無憂網的部分招聘資訊)

從今天開始學習爬蟲,展示我的第一個例項(用的是Python3寫的,Python2需要加個編碼方式吧,或許還有其他的不相容的地方吧,我就不知道了),把這分享給大家,希望對大家有一些幫助 import urllib,re import urllib.request import xlwt #開啟網頁

leetcode的python實現 刷題筆記70:樓梯(動態規劃

假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢? 注意:給定 n 是一個正整數。 示例 1: 輸入: 2 輸出: 2 解釋: 有兩種方法可以爬到樓頂。 1. 1 階 + 1

【轉】寫一個簡單的爬蟲來批量取新浪網的新聞

工具:Anaconda 先進入該頁,新浪新聞:http://news.sina.com.cn/china/ 往下翻,找到這樣的最新訊息 先爬取單個頁面的資訊:(隨便點一個進去), 該新聞網址:http://news.sina.com.cn/c/nd/2018-06-08/doc-ihcscwxa1

leetcode 746.樓梯的最小代價(從暴力遞迴到動態規劃

題目: On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed). Once you pay the cost, you can either cl