Luogu P1378 油滴擴充套件

2022-05-07 22:06:17 字數 653 閱讀 5445

這是一道很值得反思的題目

首先關於double的基本用法就非常不熟悉

int + 0.0 = double int轉化成double的方法

printf 0.lf% 直接四捨五入輸出int

關於題目其實並不是個很難的題目

關鍵就是搜尋計算狀態

就是比較得出r的過程 //特判乙個r不用出來的答案直接當0計算

#include#include#include#include#include#includeusing namespace std;

#define inf 2147483647

#define pi 3.1415926535

int n,l,r;

int sx,sy,ex,ey;

bool vis[10];

double b[10],maxv=0.0;

struct nodedot[10];

double calr(double mx,double my,int i)

} return r; // 返回當前情況的最優r

}void dfs(double sum,int step)

for(int i=1;i<=n;i++)

}}int main()

Luogu P1378 油滴擴充套件

題目描述 在乙個長方形框子裡,最多有n 0 n 6 個相異的點,在其中任何乙個點上放乙個很小的油滴,那麼這個油滴會一直擴充套件,直到接觸到其他油滴或者框子的邊界。必須等乙個油滴擴充套件完畢才能放置下乙個油滴。那麼應該按照怎樣的順序在這n個點上放置油滴,才能使放置完畢後所有油滴佔據的總體積最大呢?不同...

luogu P1378 油滴擴充套件

題面傳送門 這道題資料這麼小,一看就是搜尋,只是細節比較多。我們思考怎麼通過乙個點的半徑確定另乙個點的半徑。兩點的歐幾里得距離顯然是 x1 x2 2 y 1 y2 2 sqrt x1 x2 2 y1 y 2 2 那麼減去那個點的半徑d dd,那麼可得式子為 x1 x2 2 y 1 y2 2 d sq...

洛谷 1378 油滴擴充套件

又有浮點數,桑心 話說lxt的14.0下取整竟然成了13?2333,害怕了。go to the problem 題目描述 在乙個長方形框子裡,最多有n 0 n 6 個相異的點,在其中任何乙個點上放乙個很小的油滴,那麼這個油滴會一直擴充套件,直到接觸到其他油滴或者框子的邊界。必須等乙個油滴擴充套件完畢...