最少圓問(wèn)題
有同學(xué)提出了這么個(gè)問(wèn)題:在平面上給定n點(diǎn)的坐標(biāo)(xi,yi)和一個(gè)圓的半徑r,求至少需要多少個(gè)圓可以把所有點(diǎn)覆蓋住。
初步的思路是動(dòng)態(tài)規(guī)劃。
邊界條件:n=1,一個(gè)圓可以覆蓋,此圓以這點(diǎn)為圓心,r為半徑。
已知n個(gè)點(diǎn)的最少圓,以及每個(gè)圓的圓心(每個(gè)圓的半徑都是r)?,F(xiàn)加入第n+1個(gè)點(diǎn)。有這么幾種情況:
1. 第n+1個(gè)點(diǎn)被前面的圓包含,則圓的個(gè)數(shù)和位置都變;
2. 第n+1個(gè)點(diǎn)不被前面的任何圓包含,又分為兩種情況
2.1 通過(guò)改變某個(gè)(些)圓的位置,可以包含此節(jié)點(diǎn),則圓的個(gè)數(shù)不變,但位置變化;
2.2 如果第二步不能實(shí)現(xiàn),則增加一個(gè)以此節(jié)點(diǎn)為圓心的圓。
這里主要是第2.1步有點(diǎn)難度,還沒(méi)有考慮清楚。大家可以廣思集益。
標(biāo)簽: