首页 > 其他 > 详细

nyoj 01串(dp)

时间:2015-03-22 10:31:16      阅读:156      评论:0      收藏:0      [点我收藏+]

开始做DP。。

第n位为0时,dp[n] = dp[n-1]

第n位为1时,dp[n] =dp[n-2]

得公式dp[n] = dp[n-1] + dp[n-2];

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstdlib>
 4 #include<cstring>
 5 #include<string>
 6 #include<queue>
 7 #include<algorithm>
 8 #include<map>
 9 #include<iomanip>
10 #include<climits>
11 #include<string.h>
12 #include<cmath>
13 #include<stdlib.h>
14 #include<vector>
15 #include<stack>
16 #include<set>
17 #define INF 1e7
18 #define MAXN 100010
19 #define maxn 1000010
20 #define Mod 1000007
21 #define N 1010
22 using namespace std;
23 typedef long long LL;
24 
25 int T, n;
26 int dp[111];
27 
28 void run()
29 {
30     cin >> n;
31     memset(dp, 0, sizeof(dp));
32     dp[2] = 3, dp[3] = 5;
33     for (int i = 4; i < 110; ++i)
34         dp[i] = dp[i - 1] + dp[i - 2];
35     cout << dp[n] << endl;
36 }
37 
38 int main()
39 {
40     cin >> T;
41     while (T--)
42         run();
43     //system("pause");
44     return 0;
45 }

 

nyoj 01串(dp)

原文:http://www.cnblogs.com/usedrosee/p/4356769.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!