51nod 1062 序列中最大的數

2021-07-24 03:54:21 字數 1007 閱讀 5415

1062 序列中最大的數

ural 1079

基準時間限制:1 秒 空間限制:131072 kb 分值: 10 

難度:2級演算法題

有這樣乙個序列a:

a[0] = 0

a[1] = 1

a[2i] = a[i]

a[2i+1] = a[i] + a[i+1]

輸入乙個數n,求a[0] - a[n]中最大的數。

a[0] = 0, a[1] = 1, a[2] = 1, a[3] = 2, a[4] = 1, a[5] = 3, a[6] = 2, a[7] = 3, a[8] = 1, a[9] = 4, a[10] = 3。

例如:n = 5,最大值是3,n = 10,最大值是4。

input

第1行:乙個數t,表示後面用作輸入測試的數的數量。(1 <= t <= 10)

第2 - t + 1行:t個數,表示需要計算的n。(1 <= n <= 10^5)

output

共t行,每行1個最大值。
input示例

2

510

output示例

3

4

思路:打表。記錄最大。水到家

#include #include using namespace std;

typedef long long ll;

ll a[100050];

ll maxx[100050];

int main()

else

a[i]=a[i/2];

if(a[i]>maxx[i-1])

else

maxx[i]=maxx[i-1];

}int t;

cin>>t;

for(int i=1;i<=t;i++)

{int n;

cin>>n;

cout<

51 nod 1062 序列中最大的數

1062 序列中最大的數 有這樣乙個序列a a 0 0 a 1 1 a 2i a i a 2i 1 a i a i 1 輸入乙個數n,求a 0 a n 中最大的數。a 0 0,a 1 1,a 2 1,a 3 2,a 4 1,a 5 3,a 6 2,a 7 3,a 8 1,a 9 4,a 10 3。例...

51nod 1062 序列中最大的數 (打表)

基準時間限制 1 秒 空間限制 131072 kb 分值 10 難度 2級演算法題 有這樣乙個序列a a 0 0 a 1 1 a 2i a i a 2i 1 a i a i 1 輸入乙個數n,求a 0 a n 中最大的數。a 0 0,a 1 1,a 2 1,a 3 2,a 4 1,a 5 3,a 6...

51Nod 1062 序列中最大數 打表

有這樣乙個序列a a 0 0 a 1 1 a 2i a i a 2i 1 a i a i 1 輸入乙個數n,求a 0 a n 中最大的數。a 0 0,a 1 1,a 2 1,a 3 2,a 4 1,a 5 3,a 6 2,a 7 3,a 8 1,a 9 4,a 10 3。例如 n 5,最大值是3,n...