Yukicoder #191

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