噴水裝置 貪心演算法

2022-07-29 04:21:11 字數 1262 閱讀 5498

時間限制: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

樣例輸出

2

5

#include#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long

ll;typedef unsigned

long

long

ull;

#define maxn 602

#define inf 1000000009

/*噴水裝置

用半徑為ri的多個噴水裝置覆蓋 20*2 的長方形區域

考慮四分之一圓對於下半部分的影響!將問題分解考慮:

可以看作用多個半圓將 20*1 長方形覆蓋

可以看作用2*n個四分之一圓將20*1 覆蓋

考慮計算每個四分之一圓能覆蓋的長方形長度即可

x*x + 1 = r*r

*/int

n;double

r[maxn],a[maxn];

intmain()

double sum = 20.0

;

int p = n - 1

; sort(a, a +n);

while (sum>0

)

printf(

"%d\n

", n - 1 -p);

}return0;

}

噴水裝置 貪心演算法

長l公尺,寬w公尺的草坪裡裝有n個澆灌噴頭。每個噴頭都裝在草坪中心線上 離兩邊各w 2公尺 我們知道每個噴頭的位置 離草坪中心線左端的距離 以及它能覆蓋到的澆灌範圍。請問 如果要同時澆灌整塊草坪,最少需要開啟多少個噴頭?輸入包含若干組測試資料。第一行乙個整數t表示資料組數。每組資料的第一行是整數n ...

噴水裝置(一)貪心演算法

聽說這是 貪心演算法 的乙個簡單應用,雖說是簡單,但是對我來說,確實不簡單。說下面說有用的 題目描述 現有一塊草坪,長為20公尺,寬為2公尺,要在橫中心線上放置半徑為ri的噴水裝置,每個噴水裝置的效果都會讓以它為中心的半徑為實數ri 0輸入描述 第一行m表示有m組測試資料 每一組測試資料的第一行有乙...

貪心演算法(一) 噴水裝置(一)

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