1 条题解
-
0
解题思路
核心观察 颜色平衡条件:设每种颜色买 个,则总数为 模运算性质:重量在模 意义下具有可加性 分组处理:相同颜色的糖豆放在一组考虑
算法设计
第一步:预处理每个颜色对于每个颜色 ,我们计算数组 :表示用该颜色的糖豆组合出总重量模 为 的最小花费。这可以用模意义下的最短路算法解决:
把 到 看作图中的节点对于该颜色的每个糖豆 ,从每个节点 向 连边,边权为 用 Dijkstra 算法求从 出发到各点的最短路
第二步:合并所有颜色
设 表示前 种颜色总重量模 为 的最小花费。初始:,其余为无穷大转移:对于第 种颜色,枚举当前余数 和该颜色能提供的余数 :dp[i][(j+r) mod m]=min(dp[i][(j+r) mod m],dp[i−1][j]+fi[r]) dp[i][(j+r)modm]=min(dp[i][(j+r)modm],dp[i−1][j]+fi[r])
最终 就是答案。
- 1
信息
- ID
- 3427
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者