這道題其實是比較簡單的 dp 當前狀態來自前m個狀態之和 ,我分別用了遞迴和動態規劃兩種寫法 雖然他們本質差的不是很多 但是!!重點來了
我遞迴寫得**改了一下午 還是不能ac 我也很無奈 然後換了dp就直接過了 很難受 而且我寫了 乙個比較兩種方法的程式 執行了30*30以內所有的資料 果然沒有一組資料不一樣 就很奇怪為什麼遞迴版本交上去是錯的
首先是dp能過的** :
#include #include using namespace std;
int n, m;
int idx[50];
int main()
}} cout << dp[n] << endl;
}}
然後是我寫的 遞迴版本 :好吧我找不到 我的內個**了 但是我還有乙個比較兩種方法的 程式 裡面把這兩種方法變成函式 然後一一對比 如果有不一樣的就會輸出 資訊
你這麼聰明一定能看懂吧
#include #include using namespace std;
int n, m;
int idx[50];
int recursion(int x)
return idx[x] = res;
}int dp[50];
int dp(int n)
} return dp[n];
}int main()
}} cout << " gg~~ " << endl;
}
HDU 2520 我是菜鳥,我怕誰
problem description lin2144是乙隻小菜鳥,都是笨鳥先飛,lin2144想來個菜鳥先飛,他從0點出發 一開始的飛行速度為1m s,每過乙個單位時間lin2144的飛行速度比上乙個單位時間的飛行速度快2m s,問n 0 n 10 5 個單位時間之後lin2144飛了多遠?inp...
水題遞迴 HDU2044 我大沙茶了
有乙隻經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請程式設計計算蜜蜂從蜂房a爬到蜂房b的可能路線數。其中,蜂房的結構如下所示。輸入資料的第一行是乙個整數n,表示測試例項的個數,然後是n 行資料,每行包含兩個整數a和b 0 output 對於每個測試例項,請輸出蜜蜂從蜂房a爬到蜂房b的可能路線...
HDU 3555 我的第一道數字DP
題意就是找0到n有多少個數中含有49。資料範圍接近10 20 dp的狀態是2維的dp len 3 dp len 0 代表長度為len不含49的方案數 dp len 1 代表長度為len不含49但是以9開頭的數字的方案數 dp len 2 代表長度為len含有49的方案數 狀態轉移如下 dp i 0 ...