摘要: 给定序列 $a_i$ 和参数 $m$ 、 $k$ ,进行 $m$ 次操作每次选 $k$ 个不同位置加 $1$ ,求所有 $p \in [1,n]$ 下前 $p$ 大数字集合的个数和。解法通过贪心分析,合法集合需满足集合内最小值 $Min$ 和最大值 $Max$ 满足 $Min + m \ge Max$ ,且集合内小于 $Max$ 的数字与 $Max$ 的差之和 $\sum_{x \in S, x < Max} (Max - x) \le m \times k$ 。使用动态规划,对序列排序后枚举 $Max$ ,利用可删除背包 DP 计数满足条件的子集方案数,时间复杂度 $O(n^4)$ ,空间复杂度 $O(n \sum a_i)$ 。 阅读全文
posted @ 2025-09-10 20:41 wing_heart 阅读(1) 评论(0) 推荐(0)