Sieve overflow
Closed this issue · 1 comments
Nekosyndrome commented
抱歉打擾了, 發現一些問題想回報一下
- sieve.h#L28: i*i 的地方有可能會 overflow, 強制轉成 size_t 的話也有可能會遇到 32-bit compiler 的問題
- Disjoint::find: 會建議改路徑壓縮,因為 O(n) find 蠻少用的
- return x==p[x] ? x : find(p[x]);
+ return x==p[x] ? x : p[x] = find(p[x]);
roy4801 commented
竟...竟然是大大Σ(°ロ°)
感謝回報