#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的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個草坪全部潤濕。...