tinumu's reminder

競技プログラミングについて書いてあります。

ABC142 バチャ メモ

atcoder.jp
うえっへっへっへ(脳死)

A

(double)((int)(N+1)/2) / N
でおわり intキャストしてなかった1WA

B

forでまわします はい

C

人が増える方向にソートすれば、順番に出せます

D

  • A, B の公約数は gcd(A, B) の約数
  • 合成数素数に分解すると互いに素な数が増える(損はない)
  • 素数同士は互いに素
1gcd(A, B) の構成している素数の個数の和が答えになる おわりです

E

現在開けられる宝箱 bit がわかってれば同じ手順で全部開けさせられるよね
dp[bit] … 現在開けられる宝箱 bit での最小コスト
これで回す
O(2^N \times M) だね N \leq 12 って、こいつ誘ってるのか…?

F

閉路の中で一番小さいパスを見つければ、それは誘導部分グラフになるよね
頂点 i について閉路を探して最小化するDPを書きます
O(N(N+M)) です おわりです

いまいち、自分の書いたソースコードの正当性がわかりません DPをしなかったので多分嘘っぽい
ちょっとverifyしてみます

感想

Perfは悪くないけどF無理やりすぎてアレだな
ちょっと出直してきます!(自省)