- masashinakata
- 1288
- 1
- 0
- 0
minus9d
@minus9d
SRM 759, 安定の75.00。基本は素数A、素数Bを全探索して素数Cが条件を満たすかチェックするのだけど素直にやると8000(5桁の素数の数)^2で間に合わな(数十秒かかる)。そこで、素数の下2桁で素数をグルーピングする。
2019-05-29 22:08:49
minus9d
@minus9d
素数下2桁は01, 03, ..., 99の50通りで、だいたい素数は160個くらいに分割される。下2桁がaaである素数と、下2桁がbbである素数の組み合わせは160^2程度。aa, bbの可能な組み合わせは50^2より減る(ここの考察がいい加減)ので、全体の計算が1秒以内で収まる。
2019-05-29 22:08:50
ヘクト🐬
@osrehun
@n_vip @_TTJR_ 少し話が脱線しますが、(cur_hash << 7) - 1はcur_hashを127倍にする処理ですか?
2019-05-29 22:12:17
tsutaj
@tsutaj
@osrehun @n_vip はい (* 127 が遅いのかなあと思って適当に変えていました) (今思いましたがこれ間違ってますね)
2019-05-29 22:13:15