2014-06-01から1ヶ月間の記事一覧

AOJ 0129 Hide-and-Seek Supporting System

二人の座標を(a,b),(c,d)とする。(ただしa すべての円について、二人を結んだ線分と交点があるか判定する。 i)a=cの時 適切に処理してあげる。 ii)else 円の中心を(p,q),半径をrとする。 二点を通る直線の方程式はy=(d-b)/(c-a)*x+(bc-ad)/(c-a); 傾きをm,y…

AOJ 0564 Bug Party (解き直し)

にぶたん。中の操作はsegtreeでごにょごにょする。O(NlogN^2) 前回やったときはわからなくて答え見たけど今やってみたら割と簡単だった。 int n; const int SIZE=1<<19; P seg[SIZE*2]; struct segtree { segtree() { for(int i=0;i<SIZE*2;i++)seg[i]=P(0,0); } void update(int k,int x) { k+=SIZE-1; seg[k].fi=x; seg[k].sec=k-(SIZE-1); while(k>0) { k=(k-1)/2; seg[k]=m</size*2;i++)seg[i]=p(0,0);>…