摘要: #include <iostream>using namespace std;int main() { long long n,a[60]; a[1]=1;a[2]=2; for(int j=3;j<=60;j++) { a[j] = a[j-1]+a[j-2]; } while(cin>>n) { cout<<a[n]<<endl; } return 0;}居然又是Fibonacci Sequence。。。。。。。这果然是个神奇的公式2×(n-2)之后的部分按这样考虑,及可得出f[i]=f[i-1]+f[i-2] 阅读全文
posted @ 2012-11-08 21:08 茉莉花茶 阅读(205) 评论(0) 推荐(0)
摘要: #include <iostream>using namespace std;int main() { long long n,f[60]; f[1]=3;f[2]=6;f[3]=6; for(int i=4;i<=60;i++) f[i]=2*f[i-2]+f[i-1]; while(cin>>n) { cout<<f[n]<<endl; } return 0;}静心思考。。。考虑为5个空格R P G P GR P R G P P G这两种可能(及4个空格下满足的情况)后面都只能再跟一种可能,正好等于f[4]R P... 阅读全文
posted @ 2012-11-08 20:13 茉莉花茶 阅读(264) 评论(0) 推荐(0)
摘要: #include <iostream>using namespace std;int main() { long long m,a,b,f[60]; cin>>m; f[1]=1;f[2]=2; for(int i=3;i<60;i++) { f[i]=f[i-1]+f[i-2]; } for(int i=0;i<m;i++) { cin>>a>>b; cout<<f[b-a]<<endl; } return 0;}自信满满的一交,就wa了,结果居然是long long 的原因。。。。要牢记... 阅读全文
posted @ 2012-11-08 19:17 茉莉花茶 阅读(116) 评论(0) 推荐(0)
摘要: #include <iostream>using namespace std;int main() { int m,n,a[40]; cin>>m; for(int i=0;i<m;i++) { cin>>n; a[n+1]=3; for(int j=n;j>0;j--) { a[j]=2*(a[j+1]-1); } cout<<a[1]<<endl; } return 0;}简单dp,学习YY思维 阅读全文
posted @ 2012-11-08 18:59 茉莉花茶 阅读(117) 评论(0) 推荐(0)
摘要: #include <iostream>using namespace std;int main() { int m,n,a[50]; a[1]=1;a[2]=2; for(int j=3;j<=50;j++) { a[j] = a[j-1]+a[j-2]; } cin>>m; for(int i=0;i<m;i++) { cin>>n; cout<<a[n-1]<<endl; } return 0;}及其简单的dp,先打表节约时间。 阅读全文
posted @ 2012-11-08 18:42 茉莉花茶 阅读(129) 评论(0) 推荐(0)