acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 资讯
  • 竞赛
  • 讨论
  • 团队
  • 商城
登录
注册
题目详情提交记录(0)
  • 幸运背包 题解

    解题思路 1. 方差公式化简 方差定义为: V = (1/D) * Σ(x_i - x̄)² 展开得: V = (1/D) * Σx_i² - x̄² 因为所有物品总重量 S = ΣW_i 固定,所以平均值 x̄ = S/D 是常数。最小化方差等价于最小化 Σx_i²(各福袋重量平方和)。 2. 状压 DP 数据范围 N ≤ 15,用二进制状态压缩。 状态定义: * dp[mask][k]:将 mask 集合中的物品分成 k 个福袋时,各福袋重量平方和的最小值。 预处理: * sum[mask]:子集 mask 中所有物品的总重量。 转移方程: dp[mask][k] = min(dp[mask ^ sub][k-1] + sum[sub]²),其中 sub 是 mask 的非空子集。 枚举最后一个福袋 sub,剩下的物品分成 k-1 组。 边界条件: * dp[0][k] = 0(空集合分成 k 组,平方和为 0) 最终答案: ans = dp[full][D] / D - (S/D)² 3. 复杂度 枚举子集的子集总复杂度 O(3^N),对于 N=15,3^15 ≈ 1400 万,2 秒内可跑完。 代码

    userId_undefined
    终极主宰大神
    出道萌新时空双修者秩序白银勇敢小狗快乐小狗
    9阅读
    0回复
    0点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页