nyoj 6噴水設定(一) 貪心

2021-07-04 06:02:02 字數 936 閱讀 2547

典型的貪心,最優裝載問題。

每個噴水口最大覆蓋長度為:2*sqrt(a[i]*a[i]-1把噴水口半徑從大到小排列,從最大的開始取就可以。

注意:半徑1以及以下的噴水裝置不能覆蓋長度。但題目中說每個噴水裝置的效果都會讓以它為中心的半徑為實數ri(的圓被濕潤,不考慮r<1的情況

/*2015-7-30 21:24:11

貪心。乙個圓能覆蓋的區間長度為: len =  2*sqrt(r*r-1*1)

*/

nyoj——6**如下(已ac)#include#include#includeusing namespace std;

bool cmp(double a,double b)//bool為布林型,只有乙個位元組,取值false和true,是0和1的區別通常用來儲存關係表示式或者邏輯表示式的結果

double l(double r)

int main()

printf("%d\n",i+1); //i從0開始的 結果i+1 若從1開始 結果直接輸出i

}return 0;

}

考慮r<1的情況時  **如下

#include#include#include#includeusing namespace std;

int cmp(double a,double b)

double f(double r) //求出每個噴水裝置覆蓋的長度

int main()

sort(a,a+k,cmp); //快排,將噴水裝置的覆蓋長度,由大到小排序

for(i=0,sum=0.0; i=20.0)

}printf("%d\n",i+1);

} return 0;

}

nyoj 6 噴水裝置(一) 貪心

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現有一塊草坪,長為20公尺,寬為2公尺,要在橫中心線上放置半徑為ri的噴水裝置,每個噴水裝置的效果都會讓以它為中心的半徑為實數ri 0 輸入 第一行m表示有m組測試資料 每一組測試資料的第一行有乙個整數數n,n表示共有n個噴水裝...

NYOJ 6 噴水裝置 一 (貪心)

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現有一塊草坪,長為20公尺,寬為2公尺,要在橫中心線上放置半徑為ri的噴水裝置,每個噴水裝置的效果都會讓以它為中心的半徑為實數ri 0 輸入 第一行m表示有m組測試資料 每一組測試資料的第一行有乙個整數數n,n表示共有n個噴水裝...

nyoj 6 噴水裝置(一) 貪心

記憶體限制 64mb 時間限制 3000ms special judge no accepted 13 submit 15 現有一塊草坪,長為20公尺,寬為2公尺,要在橫中心線上放置半徑為ri的噴水裝置,每個噴水裝置的效果都會讓以它為中心的半徑為實數ri 0第一行m表示有m組測試資料 每一組測試資料...