题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5686
题意
有一个全部是1组成的序列,可以合并相邻的两个1,变成一个新的序列。问总共可以构成多少种不同的序列。序列长度范围为200
题解
这道题其实列出前几个数的答案可以观察得到是一个斐波那契数,当然也可以按照下面这种方式进行理解:
一个序列的组合方式可以分成两种情况:第一种情况是最后一个数不考虑那么相当于前面的n-1个数的排列种树;第二种情况将最后两个数合并这样就相当于前面n-2个数的排列情况
斐波那契数到达200个数,要使用大数模板,套上用就行了。
代码
1 | using namespace std; |