小明剛剛入職**,老大給他交代了乙個簡單的任務,實現乙個簡易的商品推薦系統。
一共有 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。對於每組資料,輸出一行乙個整數,表示最多能推薦的商品個數。
樣例輸入
26 35 7 3 6 10 9
8 64 7 9 5 8 1 9 10
樣例輸出
47
思路:沒什麼說的了,一眼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
,輸入只有小寫字母。
輸出題目中要求的結果。
樣例輸入
16insert barty 8
query ty
insert party 9
query ty
delete barty
query ty
樣例輸出
8179
思路:倒序字典樹
#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...