#42018: 一個思路


justin.sw.yang@gmail.com (pacfrog)

學校 : 新北市立新店高級中學
編號 : 159485
來源 : [42.79.148.248]
最後登入時間 :
2024-10-30 23:44:14
o079. 4. 最佳選擇 -- 2024年6月APCS | From: [134.208.49.33] | 發表日期 : 2024-09-20 20:15

  1. 用奇偶差作為索引值做一次前綴和還有後綴和。(我將奇數索引設為1, 偶數索引設為2),同時紀錄其實際索引值(用來判斷待會合併時會不會有越界的問題)For example: std::map<int, std::pair<int, int>> prefix, suffix; // first是索引,second的pair first是前綴/後綴和,second的pair second是其的實際索引值
  2. 再來,判斷是否有只取左/右邊的情況。(可用二分搜)
  3. 最後,尋找前綴/後綴和是否存在索引值互補的情況,換句話說就是兩索引值相加是否等於0。若存在,可用二分搜不斷尋找其最大值。

範例code

 

 
#42019: Re: 一個思路


justin.sw.yang@gmail.com (pacfrog)

學校 : 新北市立新店高級中學
編號 : 159485
來源 : [42.79.148.248]
最後登入時間 :
2024-10-30 23:44:14
o079. 4. 最佳選擇 -- 2024年6月APCS | From: [134.208.49.33] | 發表日期 : 2024-09-20 20:16

  1. 用奇偶差作為索引值做一次前綴和還有後綴和。(我將奇數索引設為1, 偶數索引設為2),同時紀錄其實際索引值(用來判斷待會合併時會不會有越界的問題)For example: std::map> prefix, suffix; // first是索引,second的pair first是前綴/後綴和,second的pair second是其的實際索引值
  2. 再來,判斷是否有只取左/右邊的情況。(可用二分搜)
  3. 最後,尋找前綴/後綴和是否存在索引值互補的情況,換句話說就是兩索引值相加是否等於0。若存在,可用二分搜不斷尋找其最大值。

範例code

 

更正: 偶數為-1

 
ZeroJudge Forum