SRM759 Div1Easy EllysThreePrimes

Blog >> SRM759 Div1Easy EllysThreePrimes

URL

https://community.topcoder.com/stat?c=problem_statement&pm=15436

概略

5桁の素数 $A, B, C$ がある.各桁の和が与えられるので,これを満たす $(A, B, C)$ の組を1つ求める.ただし $A, B, C$ は互いに異なる

方針

$A, B$ を決め打つ全探索がしたくなる.5桁なので $O(n^2)$ は怪しいが,色々工夫すると通る.

主な枝刈りは以下の通り.手元で1s前後.

  • エラトステネスの篩で $A, B$ の候補を絞る.
  • $A < B$ とする.
  • $C$ の1桁目は偶数でも $5$ でもないので,そこで探索を打ち切る.
  • $C$ の最上位は $0$ ではないので,そこでも探索を打ち切る.
  • $C$ の素数判定は篩の中を二分探索する.(これは怪しい)
[展開する]

反省

どう頑張っても1sかかるので,ジャッジを信じて投げたら通った.あとでシステスを通したら最大で400msだった.信仰心が足りない.

 
comments powered by Disqus