噴水裝置(二)

2021-08-17 14:17:23 字數 637 閱讀 4157

#include//dp問題,求乙個區間覆蓋問題的貪心,和會議安排是不同的,其實核心和最長公共子串行比較像

#include#includeusing namespace std;

struct f s[10000];

bool cmp1(f a, f b)

bool cmp2(f a, f b)

int main()

else

m--;

}sort(s, s + n, cmp1);//去除不符合要求的一部分

sort(s, s + m, cmp2);//按照最左端排序

double cl = 0, ml = 0;

bool flag = true;

while (cl < w)//開始dp,cl代表已經用區間覆蓋的長度,ml代表下一次可以覆蓋的最長長度

; if (ml == 0)//如果最大長度沒更新,那麼說明下一段區間無法被更新,那麼無解

else

}if (flag)

cout << count << endl;

else

cout << '0' << endl;

}} }

return 0;

}

噴水裝置 二

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

噴水裝置(二)

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

噴水裝置(二)

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