核心思想: 把某幾段區間加在一起,就能得到總區間的值了
-
如果 N 整除 2k+1,總區間的值就不難求出。
如果 N 不整除 2k+1 呢?
if N mod (2k+1) = 1
-> N mod (2k+1) = (k+1)+(k+1)
if N mod (2k+1) = 2
-> N mod (2k+1) = (k+1)+(k+2)
if N mod (2k+1) = k
-> N mod (2k+1) = (k+1)+(k+k)
if N mod (2k+1) = k+1
-> N mod (2k+1) = (k+2)+(k+k)
if N mod (2k+1) = 2k
-> N mod (2k+1) = (k+k+1)+(k+k)
-
如果 N mod (2k+1) = 1 ,第一段的長度為 k+1 ,中間每一段區間的長度都是 2k+1,最後一段的長度為 k+1
如果 N mod (2k+1) = k ,第一段的長度為 k+1 ,中間每一段區間的長度都是 2k+1,最後一段的長度為 k+k
如果 N mod (2k+1) = k+1 ,第一段的長度為 k+2 ,中間每一段區間的長度都是 2k+1,最後一段的長度為 k+k
如果 N mod (2k+1) = 2k ,第一段的長度為 2k+1 ,中間每一段區間的長度都是 2k+1,最後一段的長度為 k+k
-
希望各位能夠過這一題,加油