區間選點中的區間完全覆蓋問題;求解思路如下。
1:先根據給出的點的座標和半徑取出其能覆蓋的線段範圍;假如區間長度8,可選的覆蓋線段[2,6],[1,4],[3,6],[3,7],[6,8],[2,4],[3,5]
2將每乙個區間按照左端點遞增順序排列,拍完序後為[1,4],[2,4],[2,6],[3,5],[3,6],[3,7],[6,8]
3設定乙個變數表示已經覆蓋到的區域。再剩下的線段中找出所有左端點小於等於當前已經覆蓋到的區域的右端點的線段中,右端點最大的線段在加入,直到已經覆蓋全部的區域
4過程:
假設第一步加入[1,4],那麼下一步能夠選擇的有[2,6],[3,5],[3,6],[3,7],由於7最大,所以下一步選擇[3,7],最後一步只能選擇[6,8],這個時候剛好達到了8退出,所選區間為3
#include#include#include#includetypedef struct in;
in num[10010];
int cmp(const void *a,const void *b)
int main()
} qsort(num,p,sizeof(num[0]),cmp);
s=l=0,j=-1;
while(num[j+1].x<=l&&lr)
}l=r;
s++;
}if(l
12 噴水裝置
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述有一塊草坪,橫向長w,縱向長為h,在它的橫向中心線上不同位置處裝有n n 10000 個點狀的噴水裝置,每個噴水裝置i噴水的效果是讓以它為中心半徑為ri的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個草坪全部潤濕。輸...
南陽ACM 噴水裝置(二)
題目 時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有一塊草坪,橫向長w,縱向長為h,在它的橫向中心線上不同位置處裝有n n 10000 個點狀的噴水裝置,每個噴水裝置i噴水的效果是讓以它為中心半徑為ri的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個草坪全部...
南陽理工ACM 12題 噴水裝置(二)
噴水裝置 二 時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有一塊草坪,橫向長w,縱向長為h,在它的橫向中心線上不同位置處裝有n n 10000 個點狀的噴水裝置,每個噴水裝置i噴水的效果是讓以它為中心半徑為ri的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個...