時間限制:
3000 ms | 記憶體限制:
65535 kb
難度:3 描述
現有一塊草坪,長為20公尺,寬為2公尺,要在橫中心線上放置半徑為ri的噴水裝置,每個噴水裝置的效果都會讓以它為中心的半徑為實數ri(0
輸入
第一行m表示有m組測試資料
每一組測試資料的第一行有乙個整數數n,n表示共有n個噴水裝置,隨後的一行,有n個實數ri,ri表示該噴水裝置能覆蓋的圓的半徑。
輸出輸出所用裝置的個數
樣例輸入
2樣例輸出52 3.2 4 4.5 6
101 2 3 1 2 1.2 3 1.1 1 2
//nyoj-1006-噴水設定(貪心)
//題目大意:給你一定量的噴水設定,讓你求用最少的噴水設定將整個矩形草坪覆蓋;求所需噴水設定的數量;
//解題思路:本題運用貪心思想;通過區域性最優使得整體最優;首先明白,為了用最少的噴水設定來覆蓋整個草坪;
//肯定先用覆蓋範圍大的設定, 直到 草坪被覆蓋完;(這就需要對輸入的半徑進行降序排序,先用覆蓋半徑大的) ;
//其次,要知道每個半徑的覆蓋長度為 l = 2*sqrt(r*r-1) (草坪的寬是一,長是二十),每放乙個設定,就把這個的覆蓋長度加到 len上
//當 len > 20時全部覆蓋了(這個過程每累加一次記一次數,代表又有乙個設定放入草坪);
#include#include#include#includeusing namespace std;
double cmp(double x,double y)
int main()
}if(len>20)
break;
} printf("%d\n",sum);
}}
nyoj 6噴水設定(一) 貪心
典型的貪心,最優裝載問題。每個噴水口最大覆蓋長度為 2 sqrt a i a i 1把噴水口半徑從大到小排列,從最大的開始取就可以。注意 半徑1以及以下的噴水裝置不能覆蓋長度。但題目中說每個噴水裝置的效果都會讓以它為中心的半徑為實數ri 的圓被濕潤,不考慮r 1的情況 2015 7 30 21 24...
NYOJ 噴水裝置(一) (貪心)
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現有一塊草坪,長為20公尺,寬為2公尺,要在橫中心線上放置半徑為ri的噴水裝置,每個噴水裝置的效果都會讓以它為中心的半徑為實數ri 0 輸入 第一行m表示有m組測試資料 每一組測試資料的第一行有乙個整數數n,n表示共有n個噴水裝...
NYOJ 噴水裝置 二 貪心
有一塊草坪,橫向長w,縱向長為h,在它的橫向中心線上不同位置處裝有n n 10000 個點狀的噴水裝置,每個噴水裝置i噴水的效果是讓以它為中心半徑為ri的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個草坪全部潤濕。第一行輸入乙個正整數n表示共有n次測試資料。每一組測試資料的第一行有三個...