解いた問題のソースコードと解説など。


幾何

POJ 1971 Parallelogram Counting

問題 2次元平面上の整数座標がn点(n やりかた 3点を指定すると残り1点が定まり、その残りの点が与えられた中にあるかを調べる、というやりかただとTLEしてしまう。 2点を指定するとその2点の中点が定まる。このとき別の2点の中点がこの中点と同じだとすると…

PKU 3182 The Grove

問題 グリッド上に連結した池がある。これをぐるっと回って戻ってくるための最短経路を求めよ。ただし8連結方向に移動できる。 やりかた 通ったけど多分嘘解法。凸包。まず池の周りを4連結で囲むように印をつける。その印にたいして凸包を計算して池を一周す…

POJ 1265 Area

問題 ロボットが2次元座標上で原点から出発して左回りに動いて再び原点に戻ってくる。動作は格子点から格子点への直線運動の繰り返しで行われ、毎回の移動量dx, dyが入力として与えられる。この一周の動作で囲われた領域の内部にある格子点の総数、動作した…

SRM 386 Div1 Medium PolygonCover

問題 XY座標上で点が与えられる。全ての点が少なくとも1つ以上の多角形に属するように多角形を配置する。それらの面積の和が最小となるように配置し、その和を返せ。多角形の頂点は常に与えられた点の上にしか置くことはできない。与えられた点は多角形の辺…

SRM 368 Div1 Medium PolylineUnion

問題 折れ線グラフが以下の形式で1つ以上与えられる。互いに交差している折れ線グラフを1つの集合と数えると、いくつの集合になるか。1つの折れ線は1つ以上の線分からなり、点同士は'-'で区切られ、点は','で区切られる2つの非負整数で表現される。' 'で区切…

Get up! 明日のSUPER ST@R!