摘要: 题面 核心思想 dp[i][j] 表示前i个数字和为j时的组合数 那么第i个数的取法有 1 <= k <= j 需要遍历 第 i 个数取 k 前 i - 1 个数取 j - k 时 dp[i][j] = (dp[i][j] + dp[i - 1][j - k]) % MOD; 注意是和为j 第i个数 阅读全文
posted @ 2024-04-10 18:57 Shie1d 阅读(137) 评论(0) 推荐(0)
摘要: 题面 核心思想 区间DP dp[i][j][2] 表示区间 i~j (i,j都包含)区间 在下标j 变成0 和 1 的 两种情况下满足条件的操作次数 代码 import java.util.*; public class Main { public static void main(String[] 阅读全文
posted @ 2024-04-10 15:35 Shie1d 阅读(96) 评论(0) 推荐(0)
摘要: 题面 核心思想 可以从示例中看出 当 sum / n 能够整除时 我们选择平均数作为众数即可 不能整除时 也就表示着不可能让所有数相同 那么我们可以舍弃掉一个数a 记剩下的数集合为 b 那么当 b 需要 +1 或 -1 后可能会剩下一些数 那么我们可以选择让 a去执行相反操作从而不影响 b 中剩下的 阅读全文
posted @ 2024-04-10 11:27 Shie1d 阅读(339) 评论(0) 推荐(0)