#1363. 伯罗奔尼撒箭阵

    ID: 1363 Type: Default 1000ms 128MiB Tried: 17 Accepted: 3 Difficulty: 7 Uploaded By: Tags>NOI-OJ基本算法-递归与递推搜索记忆化搜索

伯罗奔尼撒箭阵

【问题描述】

在伯罗奔尼撒战争中,为了应对敌方的箭阵,指挥官正在研究一种新的列队方式,为了方便士兵理解,

抽象如下:给出正整数 n,要求按如下方式构造数列:

  1. 只有一个数字 n 的数列是一个合法的数列。
  2. 在一个合法的数列的末尾加入一个正整数,但是这个正整数不能超过该数列最后一项的一半,

可以得到一个新的合法数列。

请你帮助指挥官求出,一共有多少个合法的数列。两个合法数列 a, b 不同当且仅当两数列长度不同或

存在一个正整数 i≤∣a∣,使得 ai ≠bi。

【输入描述】

输入只有一行一个整数,表示 n。

【输出描述】

输出一行一个整数,表示合法的数列个数。

【输入样例】

6

【输出样例】

6

样例 1 解释

满足条件的数列为:

6

6,1

6,2

6,3

6,2,1

6,3,1

【数据规模】

数据保证,对于全部的测试点,保证

1≤n≤10310^3