AtCoder Beginner Contest 419 vp
AtCoder Beginner Contest 419
Subarray Sum Divisibility

考虑滑动窗口的思想,当往后移动时数组的总和会减去$A_i$并加上$A_{i+L}$,题目要求最终的结果满足是K的倍数,那么$A_i$与$A_{i+L}$一定同余于M,因此可以将数组划分为L组,每组要求同余。
这里还需保证长度为L的子序列总和是M的倍数,那么令$dp_{ij}$表示前i组的总和模M为j时所需的最小操作次数,因为一组的元素都是同余的,所以这里可以把i看作是前L个元素中的第i个,只要考虑前i个就能处理所有的。
1 |
|
AtCoder Beginner Contest 419 vp
http://example.com/2025/08/28/AtCoder Beginner Contest 419/