#19296: 思考路線


lawrence910426@gmail.com (l4wr3nc3)

學校 : 新北市立板橋高級中學
編號 : 67988
來源 : [140.114.6.181]
最後登入時間 :
2020-11-09 14:57:43
c521. 6. 顯微探測 -- 2017高雄市資訊學科能力複賽 | From: [118.167.14.22] | 發表日期 : 2019-09-23 23:36

核心思想: 把某幾段區間加在一起,就能得到總區間的值了

-

如果 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

-

希望各位能夠過這一題,加油

 
ZeroJudge Forum