专栏文章

真题选做

题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mipqzpe0
此快照首次捕获于
2025/12/03 16:31
3 个月前
此快照最后确认于
2025/12/03 16:31
3 个月前
查看原文
CSP-J 2019 T3。
NN 个物品,第 ii 个物品在第 jj 天的价格为 pi,jp_{i,j}。每天可以买卖任意物品。初始有 MM 块钱,求 TT 天后能获得的最大收益。
N,T100N,T\le100,每天拥有的钱数不超过 10410^4
考虑以下两种情形是等价的:
  • 将某件物品在第 aa 天买入,第 bb 天卖出;
  • 将某件物品在第 aa 天买入,第 a+1a+1 天卖出,第 a+1a+1 天买入,第 a+2a+2 天卖出,以此类推,第 b1b-1 天买入,第 bb 天卖出。
因此,我们可以将每天分别考虑,强制第二天早上必须将所有物品卖出即可。对于第 ii 天,考虑一个 dp,令 fj,kf_{j,k} 表示考虑到第 jj 个物品有 kk 块钱的最大收益,则:
fj,kfj1,k+pi,j+pi+1,jpi,jf_{j,k}\gets f_{j-1,k+p_{i,j}}+p_{i+1,j}-p_{i,j}
同时,我们需要维护一个 qiq_i 表示第 ii 天早上卖出所有物品后拥有的钱数,则:
qi={m,i=1max{fn,k},i1q_i=\begin{cases}m,&i=1\\\max\{f_{n,k}\},&i\ne1\end{cases}
使用背包技巧,容易发现 dp 其实只用存最后一维即可。
时间复杂度 O(TNM)\mathcal{O}(TNM)

CSP-J 2019 T4。
nn 个点 mm 条边的图。qq 组询问:给定 a,La,L,询问是否存在 1a1\sim a 的长为 LL 的路径。
n,m,q105n,m,q\le10^5L109L\le10^9
由于可以重复走某条边,显然的,若存在 1a1\sim a 的长为 L2L-2 的路径,那么一定存在长为 LL 的路径。为了达到这一点,我们只需要重复走其中的某一条边即可。更进一步的,所有奇偶性相同的 LL 的答案必定是相同的。
因此,我们不妨预处理出 1i1\sim i 的长为奇数的最短路径长度 pip_i,以及 1i1\sim i 的长为偶数的最短路径长度 qiq_i。询问时:
  • LL 为奇数,只需 LpiL\ge p_i 即存在;
  • LL 为偶数,只需 LqiL\ge q_i 即存在。
具体实现时,可将每个点拆成 iii+ni+n,分别表示。

评论

0 条评论,欢迎与作者交流。

正在加载评论...