1424 例題3 噴水裝置

2022-04-12 03:58:01 字數 929 閱讀 6433

題解

所以就可以吧這些圓簡化為線段

思路

①讀入,圓變線段

讀入資料,並計算 a[cnt].s =p -sqrt((r*r)-(w/2.0)*(w/2.0));

a[cnt].e =p +sqrt((r*r)-(w/2.0)*(w/2.0));

②跑區間覆蓋

按s[i].s進行從小到大快排,從左到右依次處理每個區間,跑區間覆蓋

將所有的區間按左端點從小到大排序,依次處理每個區間。每次選擇覆蓋點s的區間中右端點座標最大的乙個,並將s更新為該區間的右端點座標,直到選擇的區間已包含了t為止

③輸出**

#include#include

#include

#include

#include

#include

using

namespace

std;

intt;

intn,l,w,r,p,cnt;

struct

a[20015

];bool

void

read()

}void

solve()

}if(flag) printf("

%d\n

",ans);

}int

main()

return0;

}

1424 例題3 噴水裝置

1424 例題3 噴水裝置 時間限制 1000 ms 記憶體限制 65536 kb 提交數 3003 通過數 617 題目描述 長 l 公尺,寬 w 公尺的草坪裡裝有 n 個澆灌噴頭。每個噴頭都裝在草坪中心線上 離兩邊各 w2 公尺 我們知道每個噴頭的位置 離草坪中心線左端的距離 以及它能覆蓋到的澆...

NYOJ 噴水裝置一 水題(貪心)

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

南陽理工ACM 12題 噴水裝置(二)

噴水裝置 二 時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有一塊草坪,橫向長w,縱向長為h,在它的橫向中心線上不同位置處裝有n n 10000 個點狀的噴水裝置,每個噴水裝置i噴水的效果是讓以它為中心半徑為ri的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個...