2018 計蒜之道 初賽 第二場 A B

2021-08-19 22:48:37 字數 2587 閱讀 2963

小明剛剛入職**,老大給他交代了乙個簡單的任務,實現乙個簡易的商品推薦系統。

一共有 n

n 件商品可以被推薦,他們的編號分別為 1

1 到 n

n。每件商品都有乙個**,編號為 i

i的商品**為 p_ipi

​ 元。現在需要給使用者推薦盡可能多的商品,但是要保證按照編號上公升的順序給使用者依次推薦商品,並且,相鄰商品的**之差的絕對值不能超過 d

d。注意,第乙個推薦的商品**沒有限制。

第一行輸入乙個整數 t

t,表示測試資料組數。

接下來依次輸入 t

t 組資料,每組資料按照下面的格式輸入:

第一行輸入兩個整數 n

n 和 d

d,意義如題目描述所示。

接下來一行輸入 n

n 個整數,第 i

i 個整數表示 p_ipi

​。保證 1 \lt t \le 50

150, 1 \le n \le 300001≤

n≤30

000, 0 \le d \le 1000≤

d≤10

0, 1 \le p_i \le 10^51≤

pi​≤

105。

保證 \sum n \le 6*10^5∑n

≤6∗1

05。對於每組資料,輸出一行乙個整數,表示最多能推薦的商品個數。

樣例輸入

2

6 35 7 3 6 10 9

8 64 7 9 5 8 1 9 10

樣例輸出

4

7

思路:沒什麼說的了,一眼dp,看**把

ps:如果d = 1e5 可以用線段樹優化,具體還沒仔細想 等著補一下

#include #include #include #include using namespace std;

const int maxn = 1e5 + 5;

int dp[maxn], pri[maxn];

int main()

}ans = max(ans, dp[v]);

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

}return 0;

}

阿里巴巴的手機**商正在研究 infra 輸入法的新功能。他們需要分析單詞頻率以改進使用者輸入法的體驗。於是需要你在系統核心裡面寫乙個 api。 api 有如下功能:

新增操作

新增操作格式為insert barty 8,意思為插入barty這個單詞,這個單詞詞頻為 8

8次。注意如果再次新增insert barty 8操作時,就會將詞頻增加為 1616

次。(不會出現詞頻 \le 0≤0

的情況)。

刪除操作

刪除操作格式為delete barty,意思為刪除所有barty這個單詞。

如果當前沒有刪除的詞彙,輸出empty

查詢操作

查詢操作格式為query ty,意思為查詢當前版本以ty結尾的單詞詞頻總和。

第一行讀入乙個整數 t

t,代表資料組數。

每組資料的第一行讀入乙個整數 n

n 代表運算元。

接下來 n

n 行,每行形容乙個操作。

保證資料滿足 1 \le t \le 101≤

t≤10

,1 \le n \le 10001≤

n≤10

00,insert操作的字串總長度之和 \le 3000≤3

000,所有字串長度 \le 10000≤1

0000

,輸入只有小寫字母。

輸出題目中要求的結果。

樣例輸入

1

6insert barty 8

query ty

insert party 9

query ty

delete barty

query ty

樣例輸出

8

179

思路:倒序字典樹

#include #include #include #include #include using namespace std;

const int maxn = 1e4 + 7;

int id, ch[maxn][30], cnt[maxn];

char cmd[maxn], str[maxn];

void insert(char *s, int v)

rt = ch[rt][s[i]-'a'];

cnt[rt] += v;

}}void delete(char *s, int v)

}int match(char *s)

return cnt[rt];

}int main()

else if(cmd[0] == 'd')

}else}}

return 0;

}

2018計蒜之道 初賽 第二場

a.推薦系統 直接暴力dp就行 賽後沒儲存orz.找不到了 b.阿里巴巴的手機 商 簡單 直接拿map暴力就行 include include include include include include include include include include include includ...

2018 計蒜之道 初賽 第二場

簽到完看到c沒什麼人過就溜樂。a.的推薦系統 直接dp,時間複雜度 o nd include using namespace std define rep i,a,b for int i a i b i define dec i,a,b for int i a i b i define mp mak...

2019 計蒜之道 初賽 第二場 矩陣求值

題目背景題目描述 乙個同學 lsq 在小課堂後對矩陣產生極大的感興趣,他想到了乙個對矩陣求和的問題,但是這個矩陣實在太大了,他算不過來,你能幫幫他嗎?這個矩陣長這個樣子,其右方和下方是沒有邊界的,但是不要擔心,他並不要求你對整個矩陣求和,他只想知道,第 a 行第 c 列的格仔為左上,第 b 行第 d...