D
えーN<=32, 1e9, 構築,これは明らかにbase2で考えるタイプの性質であり
→base2で考えると解けました
E
誤差が非常に厳しい
→微調整をしたいね
→sqrt(x+1) - sqrt(x)は?だいたい1/sqrt(x)
→全然精度足りないね
→じゃあ(sqrt(x+2)+sqrt(x)) - 2×sqrt(x+1)は?
→だいたい1/xsqrt(x),精度足りそうだね
大雑把に作って,[x, x] -> [x+1, x-1]という遷移で誤差を微妙に調整する事を考える
→微妙に精度足りないね
とりあえず大きいほど微調整が聞くので,1e-10, 2e-10, 4e-10の微調整が可能なやつを用意しておいて,それで最後の調整をすることにする
→うまくいくときもあるしうまくいかないときもあるね
→じゃあ何回かやればいいか!w
→TLE
→微妙に定数倍改善
→AC
A
うんうん
B
K=0いるか?
C
素数の性質は難しいため,あんまり素数の性質には頼らない解法をしたい
構築の解き方①であるx進数は流石に無理そうなので, 構築の解き方②である「だいたいKをつくる→だいたいさっきのあまりをつくる→だいたいさっきのあまりをつくる→…」を考える
a+bが素数のペアが作れれば1×1, 1×2, ..., 100×100で誤差99まで作れる
c+dが素数のペアが作れれば1×1, 1×2, ..., 10×10で誤差9まで作れる
e+fが素数のペアが作れれば1×1, 1×2, ..., 1×10で誤差0になる
ので要するに,a+b, c+d, e+fが素数でそれ以外のペアは素数ではない(a, b, c, d, e, f)があればいい
→きっと適当に乱択で出てくるだろう
→出てきた
→WA
→えー生成コードくんが間違っており
→AC