abc200专题

【ATC abc200_d】Happy Birthday! 2:思维+ 鸽笼原理

传送门 题目描述 给定一个序列,找出是否存在两个不同的子序列,子序列的总和对 200 200 200同余。 分析 比较朴素的思想就是我们预处理出来每一个子序列的余数,然后进行对比,但这样的复杂度就是 2 N 2 ^ N 2N显然不行,我们就要考虑怎么去优化这个思路 根据鸽笼原理,我们一共有200种余数的情况,也就是说,如果子序列的数量大于200的话,那么必然存在一个解, 2 n > 20