藍橋杯校內模擬值序列

2021-10-04 07:21:37 字數 1531 閱讀 7478

問題描述

​ 小明想知道,滿足以下條件的正整數序列的數量:

第一項為 n;

第二項不超過 n;

從第三項開始,每一項小於前兩項的差的絕對值。

​ 請計算,對於給定的 n,有多少種滿足條件的序列。

輸入格式

​ 每一行包含乙個整數n。

輸出格式

​ 輸出乙個整數,表示答案。答案可能很大,請輸出答案除以10000的餘數。

樣例輸入

​ 4樣例輸出

​ 7樣例說明

​ 以下是滿足條件的序列:

​ 4 1

​ 4 1 1

​ 4 1 2

​ 4 2

​ 4 2 1

​ 4 3

​ 4 4

評測用例規模與約定

​ 對於 20% 的評測用例,1 <= n <= 5;

​ 對於 50% 的評測用例,1 <= n <= 10;

​ 對於 80% 的評測用例,1 <= n <= 100;

​ 對於所有評測用例,1 <= n <= 1000。

思路:因為有課的原因所以沒有參加模擬賽。讓zmgg給我截的圖,然後本地執行的。所以**正誤並不清楚,借鑑著看看吧。

這個題目,用的記憶化搜尋。按照題意去模擬就可以。1000的時候,跑的比較慢。可能會超時吧。。

**如下:

#include

#define ll long long

#define mod 10000

using

namespace std;

const

int maxx=

1e3+

100;

ll dp[maxx]

[maxx]

;int n;

inline

intdfs

(int x,

int abs,

int num)

if(dp[x]

[abs]!=-

1)return dp[x]

[abs]

%mod;

if(abs<=1)

return dp[x]

[abs]

=1ll

; ll sum=1;

for(

int i=

1;i) sum=

(sum+

dfs(i,

abs(x-i)

,num+1)

%mod)

%mod;

return dp[x]

[abs]

=sum;

}int

main()

return0;

}

部分結果如下,路過的大佬可以對照一下。

其實就1000個數字,賽場上可以全都計算出來,然後打出來。只要結果對,絕對不超時!

努力加油a啊,(o)/~

藍橋杯校內模擬賽

1200000有多少個約數 只計算正約數 include using namespace std intmain if i i n ans 1 printf d ans 96 在計算機儲存中,15.125gb是多少mb?include using namespace std intmain 在1至2...

藍橋杯校內模擬2020

問題描述 小明想知道,滿足以下條件的正整數序列的數量 1.第一項為 n 2.第二項不超過 n 3.從第三項開始,每一項小於前兩項的差的絕對值。請計算,對於給定的 n,有多少種滿足條件的序列。輸入格式 輸入一行包含乙個整數 n。輸出格式 輸出乙個整數,表示答案。答案可能很大,請輸出答案除以10000的...

藍橋杯 2020 4 18 校內模擬賽

在計算機儲存中,12.5mb是多少位元組?將lanqiao中的字母重新排列,可以得到不同的單詞,如lanqiao aailnoq等,注意這7個字母都要被用上,單詞不一定有具體的英文意義。請問,總共能排列如多少個不同的單詞。乙個包含有2019個結點的無向連通圖,最少包含多少條邊?由1對括號,可以組成一...