真题选做
P5662 [CSP-J2019] 纪念品,*绿。
CSP-J 2019 T3。
有
N 个物品,第i 个物品在第j 天的价格为p_{i,j} 。每天可以买卖任意物品。初始有M 块钱,求T 天后能获得的最大收益。
考虑以下两种情形是等价的:
- 将某件物品在第
a 天买入,第b 天卖出; - 将某件物品在第
a 天买入,第a+1 天卖出,第a+1 天买入,第a+2 天卖出,以此类推,第b-1 天买入,第b 天卖出。
因此,我们可以将每天分别考虑,强制第二天早上必须将所有物品卖出即可。对于第
同时,我们需要维护一个
使用背包技巧,容易发现 dp 其实只用存最后一维即可。
时间复杂度
Code.
P5663 [CSP-J2019] 加工零件,*绿。
CSP-J 2019 T4。
有
n 个点m 条边的图。q 组询问:给定a,L ,询问是否存在1\sim a 的长为L 的路径。
由于可以重复走某条边,显然的,若存在
因此,我们不妨预处理出
- 若
L 为奇数,只需L\ge p_i 即存在; - 若
L 为偶数,只需L\ge q_i 即存在。
具体实现时,可将每个点拆成