(學軍集訓)揹包

2021-10-01 10:01:49 字數 959 閱讀 9577

有 n

nn 種物品,第 i

ii 種物品有 c

ic_i

ci​ 個,體積為 v

iv_i

vi​ 。

給定整數集合 s

ss,從這 n

nn 種物品中選出 k(k

∈s

)k(k ∈ s )

k(k∈s)

種物品,每種物品選任意正整數

個,問可以得到哪些小於 l

ll 的總體積值

對於所有的資料,滿足 1≤n

,ci,

l≤2×

103,

1≤vi

≤2×1

03,1

≤m,s

1 ≤ n, ci, l ≤ 2 × 10^, 1 ≤ vi ≤ 2 × 10^, 1 ≤ m, s

1≤n,ci

,l≤2

×103

,1≤v

i≤2×

103,

1≤m,

s中的元素 ≤

n≤ n

≤n。記f[i

][j]

f[i][j]

f[i][j

]為ii

i中物品能否組成總體積j

jj,考慮每乙個物品i

ii對f

ff的貢獻。

首先注意到能相互轉移的是jmo

dv

ijmodv_i

jmodvi

​下相等的狀態,將他們拿出,又有物品個數c

ic_i

ci​的限制,於是對於每一列,相當對前c

ic_i

ci​列的或左移1

11位取或,將f

ff的兩維交換一下,維護每c

ic_i

ci​個的前字尾和,可在總複雜度o(n

3/w)

o(n^/w)

o(n3/w

)的效率內做完。

(學軍集訓)環

對於乙個長度為的01串,下標從0到。定義兩種型別的操作 a型別 選擇乙個x xx,將序列迴圈右移x xx位,也就是新序列的第 i x n i x n i x n位對應原序列的第位。b型別 選擇乙個,滿足序列的第i ii個位置為1,且第 i 1 n i 1 n i 1 n位置不為1,交換序列的第i i...

(學軍集訓)探尋

探尋者皮特 pete 在乙個新的鈦礦上有領先優勢,需要您的幫助將採礦業務推銷給投資者。礦山可以 表示為一棵樹 礦山的入口是樹的根,其他樹節點是地下鈦礦的礦穴,樹的邊是皮特可以在兩個礦穴之 間 或對於和根相鄰的邊,在礦井入口和礦穴之間 挖掘潛在隧道。連線第礦礦床與其母礦的隧道的 長度為英呎。其中乙個葉...

(學軍集訓)漏網之魚

給定乙個n nn個數的序列a aa,有q qq次詢問,每次詢問區間 l,r l,r l,r 的所有子區間的mex mexme x的和。資料範圍 n,q 106 ai 10 9n,q le 10 a i le 10 n,q 10 6,ai 10 9 發現 l,r l,r l,r 的子區間這個限制條件過...