日常訓練 秀姿勢

2021-08-04 06:28:21 字數 1239 閱讀 2471

「藍貓淘氣三千問,看藍貓,我有姿勢我自豪!」話說能考上hysbz的孩紙們肯定都是很有姿勢的孩紙們,但是大家普遍偏科,都只有一門科目考得好。已知hysbz的入學考試科目數量小於等於109

,而有n個學生參加了入學考試。現在hysbz要刷人了,招生辦每一次刷人會把乙個科目考得好的人全部刷掉,但是最多不能刷超過k次。(刷就是不錄取)而hysbz的校長看錄取名單時,最喜歡看的就是連續都是同乙個科目考得好的人。他定義完美學生序列為連續且考得好的科目都為同一門的學生序列。現在招生辦主任想讓你幫他設計一種錄取方案,使得最長的完美學生序列盡量長。

共n+1行,第一行2個正整數n,k,n表示入學考試人數,k表示刷人次數上限。

接下來n行,每行僅乙個正整數ai,為i號學生所考得好的科目。

僅1個正整數,為最長的最長完美學生序列。

9 1

2 7

3 7

7 3

7 5

7 總共有9個學生,最多只能刷一次學生。

若不刷,最長完美學生序列長度為2

若刷掉考第3門考得好的學生,則學生序列變成2 7 7 7 7 5 7,最長完美學生序列長度為4.

對於10%的資料:n<=10

對於30%的資料:n<=1000

對於100%的資料:1<=n<=100000

#include 

#include

#include

#include

using

namespace

std;

const

int n = 1e5 + 5;

int n, k, ans, a[n], b[n], cnt[n], h[n];

inline

void ckmax(int &x, const

int &y)

inline

int get()

int main()

ckmax(ans, cnt[a[i]]);

//這裡可直接用cnt[a[i]]於更新答案

//因為若右邊界再往右移且數字a[i + 1 ~ r]都與a[i]不相同

//那麼相較於右邊界為i的方案,之後的方案都可能是不優的

//同時我們每次只讓右邊界右移一位,因此也不會遺漏

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

fclose(stdin); fclose(stdout);

return

0;}

秀姿勢 模擬 雜湊

藍貓淘氣三千問,看藍貓,我有姿勢我自豪!話說能考上hysbz的孩紙們肯定都是很有姿勢的孩紙們,但是大家普遍偏科,都只有一門科目考得好。已知hysbz的入學考試科目數量小於等於10 9,而有n個學生參加了入學考試。現在hysbz要刷人了,招生辦每一次刷人會把乙個科目考得好的人全部刷掉,但是最多不能刷超...

秀姿勢 模擬 雜湊

乙個序列,去掉 k role presentation k k個數字,使最長的完美連續子串行盡量長。佇列 雜湊 m ap role presentation ma p m ap 快拍 二分 用佇列維護乙個區間,使得這個區間的不同數字個數不超過 k 1 role presentation k 1 k ...

日常訓練 壓縮

巨大的文字往往令人頭疼,特別是文字內容有大量重複的情況下,巨大的文字不便於運輸和閱讀,於是我們提出了noip nonsense obivous index pattern 荒謬的顯然索引法 一種 有效的 壓縮文字的方法。noip壓縮後的格式很特別,乙個文字壓縮後由若干個單元組成,每個單元由3部分組成...