kwm_t

kwm_tのメモ

ABC191

■A - Vanishing Pitch
if文


■B - Remove It
出力するだけ


■C - Digital Graffiti
下手な解き方をしてしまいました
頂点の数を数えるか、辺の数を数えるかをすれば
何角形かわかる。
辺の数でやってしまったため下手
そもそも、問題文がわかりにくい


■D - Circle Lattice Points
誤差 and 誤差and 誤差
小数点以下第4位までと確定してるので
10^4倍してint(long long)の世界で扱う。


■E - Come Back Quickly
頂点数が少ないので、各頂点からダイクストラなりで最小コストを求める
Dよりよっぽど簡単


■F - GCD or MIN
難しい
Aの最小値以下かつ、Aの中から一つ以上を選んでgcdをとり作れる数が答え
ここまではすぐわかる。
それをどうやって列挙するかが問題。
解説みたら天才的なことが書いていた。

(例)
9と42のgcdである、3を求めたいとする


9の約数は1,3,9
mapに
mp[1] = 9;
mp[3] = 9;
mp[9] = 9;と登録する
次に42を行う約数のうちすでにmapに登録されている1,3について考える

mp[1] = gcd(mp[1],42) = 3
mp[3] = gcd(mp[3],42) = 3
となるので
最終的にmp[x] = xとなるものの数が答え(Aの最小値以下)