7月13日模拟赛总结
here.
T1,T2 略。T3 将 T2 的循环顺序换一下即可(为了保证下次从编号更大的开始枚举)。
T4 多重背包板子。需要二进制优化,即对多个物品像 \(1,2,4,8,...\) 这样进行二进制分组,然后就能转化成 01 背包了。
T5 考虑部分分的做法,显然 01 背包可做。这启发我们这题可能是背包相关。同时,我们注意到 \(\sum a_i=m\),则最坏的情况是 每个价格都出现一次,有 \(1+2+...+t=m \to t \approx \sqrt{m}\),这表明 不同的价格最多出现的次数是根号级别的。 这启发我们把相同价格的物品放在一起,然后做多重背包,这样便可以进行二进制优化了,时间复杂度 \(O(n \sqrt{m} \log \sqrt{m})\)(实际上根本跑不满)。
成绩:100+100+40+40+0=280,rk3。
总结:
-
dp 关注循环顺序和枚举顺序。
-
学习了多重背包的二进制优化(分组思想)。

浙公网安备 33010602011771号