鸽笼原理的应用

在这里插入图片描述
就是说,如果有n个正整数a1,a2…an,那么一定存在l、r ( 1 <= l < r <= n )使得al+…+ar可以被n整除。
为了找l和r,我们可以维护一个前缀和数组A。当A[l]=A[r] (mod n)时,l+1–r之间的数字和一定可以被n整除。(0<=l<r<=n)
这是因为一个数模n的值一定在[1,n-1]范围内,共n-1种(等于0的情况直接就被整除了).而n个数字的前缀和有n种,所以必然有两个前缀和的模相等.

发布了73 篇原创文章 · 获赞 3 · 访问量 3515

猜你喜欢

转载自blog.csdn.net/qq_42021845/article/details/102897800
今日推荐