解いた

10時〜18時くらいまでずっと大学に篭ってやっていた.
1284 - The Teacher's Side of Math
1292 - Top Spinning
1251 - Pathological Paths
1245 - Gap
1270 - Manhattan Wiring

  • 1284 : mn次の1次方程式に帰結して,ガウスの消去法.ちゃんと証明できてない.値小さそうだしlong longでいいやーと思って整数の掃き出し法でやってみたら余裕で溢れてしまったのでやむを得ずdoubleで書き直した.
  • 1292 : わりとめんどい幾何.YUHAさんのICPC総集編には「誤差がゆるいので近似解法でもOK」と書かれていたのですがよく分からなかったので厳密解法でやりました.円の一部分の重心は計算が面倒そうだけど親切にもHintのところに式が書いてあるのでそれを写せばよい.重心計算は円弧があるとややこしそうに思えるけど,普通の線分だけの多角形のときと同じように符号付面積を考える感じにやればうまくいく.内外の判定も普通の多角形のときと同じように,右に半直線を引いてそれとの交差回数をカウントすればよい.(なので半直線と円弧との交差判定が必要になる.面倒.)
  • 1251 : やるだけだけど条件がわかりにくいので問題文とサンプルとにらめっこする.
  • 1245 : 状態数全然無いんじゃね? と思って試しにdfsを書いたら全然駄目だったのでbfsにしたらよくなった.オーダーがよく分からない….
  • 1270 : よく分からない探索.基本方針はdfsで,無意味なU字型を消したり,前のパスと接するような位置には置かない,とかする.なかなか速度が出なくてTLE9回くらい出してしまって泣ける.最初書いていたときは,前置いたときと同じ向きに置いた場合はU字型の消去をしない風にしていた(U字型は現れそうになかったので)のだけど,前置いたときと同じ向きでもU字型を消去するようにしたら一気に速度が上がってACになった.(なんで?)


あとアジア地区の過去問で解いていないもの(のうちAOJでジャッジのあるもの)が残り14問くらいになってきた.
1256 - Crossing Prisms」,「|1274 - Enjoyable Commutation」,「1278 - Lowest Pyramid」あたりはかなり厳しそうな臭いがするけど,それ以外は意外とできるんじゃないかなーと勝手に思っています(ちゃんと目通してないのも結構ありますが…).あと4日でできるところまで攻めておきたいです.