看wc課件好像zhj的ppt裡面有這道題目?然而講得太簡略了看不懂。
然後扒了扒黃學長的**發現好像很簡單。。。
實際上就是暴力列舉三個點,列舉到第i個點時看能不能放到當前的圓裡面,不能就移前面i-1個點和i組成乙個圓。注意這裡i<=3。然後推一下外心就好了。
考慮每乙個節點,在邊上的期望概率為(1/n),然後列舉完第乙個點,當且僅當它在邊上才會繼續列舉第二個點。如果列舉第二個點之後的期望時間複雜度為o(n),那麼對於第乙個點時間複雜度為o(n*1/n*n)=o(n)。顯然列舉第三個點是o(n)的,因此同理列舉第二個點是o(n),第乙個也是o(n)。
一開始的時候隨機打亂。(雖然這樣好像變慢呢?)
ac**如下:
#include#include#include#include#define eps 1e-6
using namespace std;
struct pointa[500005]; int n;
double dist(point u,point v)
point centre(point u,point v)
double sqr(point u)
point calc(double x,double y,double z,double u,double v,double w)
point centre(point u,point v,point w)
int main()
point o=a[1]; double r=0;
for (i=2; i<=n; i++) if (dist(o,a[i])>r+eps)
} }printf("%.2f %.2f %.2f\n",o.x,o.y,r);
return 0;
}
by lych
2016.3.1
POJ 2823單調佇列
g tle了,c 5329ms險過。用g 交了幾遍,總覺得沒錯,也沒改就反覆交了,傻裡傻氣的。再在網路上找了一 g ce後c 過了,就也試著用c 交自己的 了,過了。要不咱研究研究g 和c 好了 以上全是廢話!include using namespace std const int nn 1000...
單調佇列 poj2823
這段話 初談這個話題,相信許多人會有一種似有所悟,但又不敢確定的感覺。沒錯,這正是因為其中 單調 一詞的存在,所謂單調是什麼,學過函式的people都知道單調函式或者函式的單調性,直白一點說單調就是一直增或一直減。例如 1,3,5,9就是乙個單調增數列,數列中不存在後乙個數比前乙個數小的現象。那麼同...
HDU 2823 旋轉卡殼
開始 自己 做 不是 wa 就是 tle 後 來 還是看別人 的 注意 此 下面 c ac g tle include include include include using namespace std define n 1005 define pr 1e 8 struct tpoint tpo...