先说鸽巢原理就是抽屉原理,听起来更高大上一点。
有这样一个结论:任意大小不小于N的整数集合必然存在一个非空子集,集合内元素之和可以整除N。考虑把集合内的元素拿出来,随便搞个排列求前缀和,显然如果存在两个前缀和模N相同那么之间的元素可以构成符合条件的子集。由于鸽巢原理,N个数可以构成N+1个前缀(包括空前缀),其中必然有模N相同的两个,故而结论成立。