鴿籠原理的應用

在這裏插入圖片描述
就是說,如果有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種,所以必然有兩個前綴和的模相等.

發佈了76 篇原創文章 · 獲贊 3 · 訪問量 3945
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章