NISHIO Hirokazu[Translate]
setはメモリ食い
Pythonのsetは1エントリーあたり90バイトも食っている。
10Mエントリー前後でatcoderの1024MBのメモリ制限に引っかかる。
定義域が [0, N) なら np.zeros(N, np.bool_) がよい。座標圧縮でその形に持ち込むのも良さそう。

python
x = set() for i in range(9_000_000): x.add(i)

python
import numpy as np x = np.zeros(9_000_000, np.bool_) for i in range(9_000_000): x[i] = 1

"Engineer's way of creating knowledge" the English version of my book is now available on [Engineer's way of creating knowledge]

(C)NISHIO Hirokazu / Converted from [Scrapbox] at [Edit]