Re: [問題] ZeroJudge-c216

作者: GYLin (Lynx)   2019-04-02 20:45:33
大致策略:
1. 把途中所有累積加值都模100000, 原因很明顯
2. 當需要計算Sum[L,R]時, 其值為"不考慮爆掉的原本加總"扣掉100000*(區間內爆掉人數)
爆掉人數為: 區間內的Ai個數, 其值加上目前累積加值會超過100000的人們
要計算爆掉人數, 只要維護一個 Map[i][j] 就可以,
Map[i][j] 就是 陣列 1~i, 加上高度 j 會爆掉的人數,
若開普通陣列可能需要 100000*100000 的大小,
但實際上出現的詢問只會有 10^6 種,
所以先把詢問全部存起來後, 再針對會出現的詢問求出爆掉人數,
再回去把存起來的詢問解決即可.

Links booklink

Contact Us: admin [ a t ] ucptt.com