ctyl's problem solving

競技プログラミングが主な話題です。

SRM 668 Div2

いつも昼頃に起きる自分がSRMのために早起きしました

結果:1097 -> 1078 (-19)

 

結果は2完.前回より易しいセットなために前回の1完のときより相対的な出来は悪いという結果.

 

Easy: 文字列を入れ替える問題.特に問題なくできましたが時間がかかってしまった.

Medium: 整数座標が4つ与えられ,それが正方形をなすか答える問題.自分の解法はまず任意の3つの点(A,B,C)を選び,90度の角を見つける(ベクトルの内積で計算).AB・AC=0かつAB=ACのとき,OA+AB+ACが残りの点の座標になるかどうかをチェック.これもなんだかんだで時間をかけてしまった.

Hard: int型の配列vが与えられ,そこから3つの整数a,b,cを適当にとったとき,与えられた整数Kで割り切れる組は何通りあるかという問題.next_combinationみたいなのがあればできたかも・・方針としてはgcd(v[i], K) for all iを計算したものに配列をアップデートし,そのあと3つの数字をかければ10^18以下なのでlong longでオーバーフローしない,というものを思いついたが,時間と実力が足りず実装まではできず・・

 

今回はコーディングの速さが課題となったラウンドでした.次はレート上げていきたい.