藍橋杯往年題目 對局匹配(c )

2021-10-16 07:01:11 字數 934 閱讀 1569

小明發現**的自動對局系統在匹配對手時,只會將積分差恰好是k的兩名使用者匹配在一起。如果兩人分差小於或大於k,系統都不會將他們匹配。

現在小明知道這個**總共有n名使用者,以及他們的積分分別是a1, a2, … an。

第一行包含兩個個整數n和k。

第二行包含n個整數a1, a2, … an。

對於30%的資料,1 <= n <= 10

對於100%的資料,1 <= n <= 100000, 0 <= ai <= 100000, 0 <= k <= 100000

乙個整數,代表答案。

10 0

1 4 2 8 5 7 1 4 2 8

6
思路:動態規劃,分成幾個等差陣列,首項不同,但公差都為k

**如下:

#include

#include

using

namespace std;

int num[

1000010];

int count[

1000011];

//記錄數出現的次數

int dp[

1000011];

intmax

(int a,

int b)

intmain()

if(k==0)

}else

dp[0]

=count[0]

; dp[1]

=max

(dp[0]

,count[1]

);for(j=

2;j) res+

=dp[sum-1]

;//加上這個等差數列(以i為首項)情況下的結果 }}

cout << res

}

對局匹配(藍橋杯)

小明發現 的自動對局系統在匹配對手時,只會將積分差恰好是k的兩名使用者匹配在一起。如果兩人分差小於或大於k,系統都不會將他們匹配。現在小明知道這個 總共有n名使用者,以及他們的積分分別是a1,a2,an。第一行包含兩個個整數n和k。第二行包含n個整數a1,a2,an。對於30 的資料,1 n 10 ...

藍橋杯 對局匹配 動態規劃

時間限制 1.0s 記憶體限制 256.0mb 問題描述 輸入格式 第一行包含兩個個整數n和k。第二行包含n個整數a1,a2,an。對於30 的資料,1 n 10 對於100 的資料,1 n 100000,0 ai 100000,0 k 100000 輸出格式 乙個整數,代表答案。樣例輸入 10 0...

藍橋杯歷屆試題 對局匹配

問題描述 輸入格式 第一行包含兩個個整數n和k。第二行包含n個整數a1,a2,an。對於30 的資料,1 n 10 對於100 的資料,1 n 100000,0 ai 100000,0 k 100000 輸出格式 乙個整數,代表答案。樣例輸入 10 0 1 4 2 8 5 7 1 4 2 8 樣例輸...