歷屆試題 對局匹配 遞推

2021-09-23 08:06:54 字數 808 閱讀 4061

題目鏈結藍橋杯---歷屆真題 題解

問題描述

輸入格式

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

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

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

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

輸出格式

乙個整數,代表答案。

分析:每積分相乘k個能匹配,則將每個積分%k = r(0<=r選擇i: d[i] = d[i-2*k]+cnt,

不選i:d[i] = d[i-k];

由此:d[i] = max;邊界d[r] = cnt[r],d[r+k] = cnt[r+k]

#include #include using namespace std; 

const int max = 100000;

int d[max+5], cnt[max+5];

int main(int argc, char** ar**)

int ans = 0;

for(int i = 0; i <= max; i++)

ans += (bool)cnt[i];

}else

ans += sum;

} }

printf("%d\n",ans);

return 0;

}

樣例輸入

10 0

1 4 2 8 5 7 1 4 2 8

樣例輸出

歷屆試題 對局匹配

這幾天心態有點崩,不會的忒多了,翻翻學長們的部落格,同時期的他們學的演算法比我多,題量也是!而且我很多學的演算法和資料結構都只是做過模板題。md下學期逃課吧,我愛acm!萬幸今天下午查機組考得還算可以hhhh,算是一件值得高興的事呢。如果對於給定的k為0,那麼我們讓每乙個積分為x的組的人數都只剩乙個...

歷屆試題 對局匹配

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

試題 歷屆試題 對局匹配

小明發現 的自動對局系統在匹配對手時,只會將積分差恰好是k的兩名使用者匹配在一起。如果兩人分差小於或大於k,系統都不會將他們匹配。現在小明知道這個 總共有n名使用者,以及他們的積分分別是a1,a2,an。include include using namespace std const int ma...