【CF577B Modulo Sum】题解
本文搬运自本人初中博客园博客,若图片加载不出来,可到原文查看:https://www.cnblogs.com/zhangtingxi/p/15664786.html
题目链接
题目
You are given a sequence of numbers a1, a2, …, an, and a number m.
Check if it is possible to choose a non-empty subsequence aij such that the sum of numbers in this subsequence is divisible by m.
给出 个长度为 的序列,以及 个正整数 。问这个原序列中是否存在非空子序列,使其元素之和能被 整除。
思路
该不会有人不知道 的做法吧
先说 做法,相当于是一个01背包,每个数选和不选,然而这样会超时。
于是我们考虑 的情况。
此时我们对整个数列做前缀和,然后再对 取模。
根据抽屉原理,因为 ,所以在 个前缀和中必有两个对 取模于是相等,它们中间那段就是答案。
而 的情况,,不会超时。
Code
1 | // Problem: CF577B Modulo Sum |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 zhangxixi的博客!





